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.
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!
Pergunta
McTheodoren
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!!!
Editado por McTheodorenLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.