Jump to content
Fórum Script Brasil
  • 0

Ajuda com Tkinter


wyohara
 Share

Question

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.

Edited by wyohara
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...