I was creating a Sudoku Game in python with Tk.
I got a error about the function on a keypress for a button
from random import randint
from tkinter import *
class sudoku:
global root,result,lb
def __init__(self):
self.aleatoriedade()
for k in range(9):
j=randint(0,80)
x=j//9
y=j-(x*9)
lb[x][y]['text']=result[x][y]
lb[0][0].bind('<KeyPress-2>',self.kk)
#setted this for test
root.mainloop()
def kk(self):
lb[0][0]['text']='2'
def aleatoriedade(self):
for i in range(9):
var=0
while var in result[0]:
var=randint(1,9)
result[0][i]=var
for i in range(1,9):
for j in range(9):
result[i][j]=result[0][field[i][j]-1]
#MAIN()
n = 3
field = [[(i*n + i//n + j) % (n*n) + 1 for j in range(9)]for i in range(9)]
result = [[None for i in range(9)]for i in range(9)]
lb=[[None for i in range(9)]for i in range(9)]
x=0
y=0
root=Tk()
for i in range(9):
for j in range(9):
lb[i][j]=Button(root,font=("Verdana",'13',"bold"),bd=1,height=3,width=6)
if (i in (0,1,2,6,7,8) and j in (0,1,2,6,7,8))or(i in (3,4,5) and j in (3,4,5)):
lb[i][j]['bg']='white'
lb[i][j].grid(row=i,column=j)
janela=sudoku()
and this error/exception in lb[0][0].bind('<KeyPress-2>',self.kk)
Exception in Tkinter callback
Traceback (most recent call last):
File "C:Python33libkinter\__init__.py", line 1489, in __call__
return self.func(*args)
TypeError: kk() takes 1 positional argument but 2 were given
I don't mind where is the error. I have included the self on my function
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…