Ir para conteúdo
Fórum Script Brasil

McTheodoren

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por McTheodoren

  1. Fala galera, sou novo em programação e estou tentando fazer um programa simples de base de dados para cadastro de bovinos.
    tenho tido algumas duvidas quanto a melhor maneira de escrever o código.
     

    Fiz a GUI princopal aqui:

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    from Tkinter import *
    import sqlite3, tkMessageBox
    from PIL import Image, ImageTk
    import Funcoes    #Arquivo que contem as funções!

    class Main:
        def __init__(self, master):
            self.frame = Frame(master)
            self.frame.pack()
            
            #Botão Gado
            
            self.botaGado = Button(self.frame)
            self.imgGado = Image.open("img\gado.jpg")
            self.imgBotaGado = ImageTk.PhotoImage(self.imgGado)
            self.botaGado.image = self.imgBotaGado 
            self.botaGado.config(image= self.imgBotaGado,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaGado)
            self.botaGado.pack(side=LEFT, padx = 10)
            
            #Botão Lotes
            
            self.botaoLotes = Button( self.frame)
            self.imgLotes = Image.open('img\lotes.jpg')
            self.imgBotaoLotes = ImageTk.PhotoImage(self.imgLotes)
            self.imgBotaoLotes.image = self.imgBotaoLotes
            self.botaoLotes.config(image = self.imgBotaoLotes,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaLote)
            self.botaoLotes.pack(padx = 10, side = LEFT)
            
            #Botao Botao Estoque
            
            self.botaoEstoque = Button(self.frame)
            self.imgBotaoEstoque = Image.open('img\estoque.jpg')
            self.imgBotaoEstoque = ImageTk.PhotoImage(self.imgBotaoEstoque)
            self.botaoEstoque.image = self.imgBotaoEstoque
            self.botaoEstoque.config (image = self.imgBotaoEstoque, bg = 'blue', bd = '10', activebackground = 'black', command = Funcoes.funcoes.janelaEstoque)
            self.botaoEstoque.pack(padx = 10, side = LEFT)
          
    root = Tk()
    root.geometry('800x600')
    Main(root)
    root.mainloop()

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    E um outro arquivo com as funões dos botoes aqui

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    from Tkinter import*
    from PIL import Image, ImageTk
    from Main_GUI import * #arquivo onde está o root

    class funcoes(object):
        
        #Janela Gado
        
        def janelaGado(self):
            self.JanelaGado = Toplevel(root)
            self.JanelaGado.geometry('800x600')
            self.frameGado= Frame(self.JanelaGado)
            self.frameGado.pack()
            
            #botao Gravar
            
            self.botaoGravar = Button(self.frameGado)
            self.imgGravar = Image.open('img\save.jpg')
            self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar)    
            self.botaoGravar.image = self.imgBotaoGravar
            self.botaoGravar.config(image = self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10')
            self.botaoGravar.pack(side = LEFT)
            
        # func botao lote     
        
        def janelaLote(self):
            self.JanelaLote = Toplevel(root)
            self.JanelaLote.geometry('800x600')
            self.frameLote = Frame(self.JanelaLote)
            self.frameLote.pack()
            #botao Gravar
            
            self.botaoGravar = Button(self.frameLote)
            self.imgGravar = Image.open('img\save.jpg')
            self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar)    
            self.botaoGravar.image = self.imgBotaoGravar
            self.botaoGravar.config(image = self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10')
            self.botaoGravar.pack()
                
        def janelaEstoque(self):
            self.JanelaEstoque = Toplevel(root)
            self.JanelaEstoque.geometry('800x600')
            self.frameEstoque= Frame(self.JanelaEstoque)
            self.frameEstoque.pack()
            
            #botao Gravar
            
            self.botaoGravar = Button(self.frameEstoque)
            self.imgGravar = Image.open('img\save.jpg')
            self.imgBotaoGravar = ImageTk.PhotoImage(self.imgGravar)    
            self.botaoGravar.image = self.imgBotaoGravar
            self.botaoGravar.config(image =self.imgBotaoGravar, width = '100', heigh = '100', bg = 'blue', bd = '10')
            self.botaoGravar.pack(side = LEFT)

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Não estou conseguindo fazer o codigo chamar a função do arquivo das funções!
    ele me da erro :    self.botaGado.config(image= self.imgBotaGado,width=100,height=100, bg = 'blue', bd='10', activebackground = 'black', command = Funcoes.funcoes.janelaGado)
    AttributeError: 'module' object has no attribute 'funcoes'

    Gostaria de saber como chamar a função deste outro arquivo e se esse seria o melhor jeito de fazer isso. Gostaria de saber se eu deveria fazer apenas a função para abrir a janela ao clique e o design da janela em outro lugar ou se colocar a função e a janela juntos não tem problema!

    Obrigado pela atenção!!!

×
×
  • Criar Novo...