Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com Tkinter


wyohara

Pergunta

Bom dia  a todos,

eu sou iniciante em python e estou criando um pequeno banco de dados usando SQlite para gerenciar cartas, aliado ao tkinter para criar uma GUI amigável. Mas eu estou com um problema, não consigo criar um bind ligando o evento clique do mouse para criar o Banco de dados.

 

from tkinter import * #Importando a biblioteca
from Comandos import comandosMLB

class MagicLib():
    def __init__(self,toplevel): #Seletor indica a caixa que seleciona a opção
        self.top1=Frame(toplevel) #self.top1 é a instancia de topo do seletor
        self.top1.pack() #formando o Pack do self.top1
        #BOTÃO DO FRAME DE TOPO
        self.bot1=Button(self.top1,text='Criar Banco de dados')
        self.bot1['font']='Verdana'
        #self.bot1.pack() --->Pack é sempre o ultimo, pois junta tudo
        
        #CRIANDO O EFEITO BIND PARA CRIAR O BANCO DE DADOS
        self.bot1.bind('<button-1',self.criarBD)#Chama o efeito criar BD
        self.bot1.pack(side=TOP)
        
    def criarBD(self,event):
        value=criarBD()
        p=comandosMLB.Comandos()
        p.criarBD()

#EXECUTANDO COMANDO DE EXIBIR A JANELA
exibir=Tk() #A variavel exibir chama a função Tk()
MagicLib(exibir) #O comando Tk() é aplico a classe 
exibir.mainloop() #O mainloop mantem a tela constante

------------------------ Classe para criar o banco de dados. Fica na pasta Comandos:

 

class Comandos:
    def criarBD(self):
        #CRIANDO A TABELA DO MAGICLIB
        import sqlite3
        c=sqlite3.connect('BD_MLB.db') #Conecta/cria o banco de dados
        cursor=c.cursor()#cria o cursor (edita o BD)
        cursor.execute ('''CREATE TABLE bd_cartas(
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
cor TEXT NOT NULL,
atq TEXT,
hp TEXT,
descr TEXT,
hab TEXT,
edc TEXT
);''')
        c.close

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

O erro que aparece é:

Traceback (most recent call last):
  File "GUI.pyw", line 29, in <module>
    MagicLib(exibir) #O comando Tk() é aplico a classe
  File "GUI.pyw", line 19, in __init__
    self.bot1.bind('<button-1',self.criarBD)#Chama o efeito criar BD
  File "C:\Python34\lib\tkinter\__init__.py", line 1088, in bind
    return self._bind(('bind', self._w), sequence, func, add)
  File "C:\Python34\lib\tkinter\__init__.py", line 1043, in _bind
    self.tk.call(what + (sequence, cmd))
_tkinter.TclError: bad event type or keysym "button"
Pressione qualquer tecla para continuar. . .

 

Alguma ideia de como resolver? Grato.

Editado por wyohara
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...