我想在另一个类中调用一个方法,并在Python中单击该按钮时对父类进行更改。解释;使用Tkinter可视化编程,我单击按钮更改主窗口,我无法使用其他类方法更改主窗口中的属性。
我收到以下错误消息。
Tkinter回调中的异常 回溯(最近一次调用最后一次):
文件“/usr/lib/python3.5/tkinter/_ init _.py”,第1553行,_ 调用 _
return self.func(*args)
TypeError:buton_goster()缺少1个必需的位置参数:'event'
class Butonol(object): #Button class
def __init__(self):
...
def buton_goster(self, event ): # Properties kisminda ozellik gosterir
Test.countshow = Test.countshow + 1;
if(Test.countshow >1):
Test.props0.pack_forget()
Test.props.pack_forget()
...
这是测试类
class Test(Frame):
countshow = 0
...
def new_Button(self):
self.nesne = Butonol()
self.but= Button(self.mainFrame,text = self.nesne.text)
self.but.bind('<Button-1>',Butonol.buton_goster)
self.but.bind('B1-Motion>',self.label_tasi)
self.but.pack(side = LEFT,anchor = N)
Butonol.butonsay = Butonol.butonsay + 1
Butonol.butonliste.append(self.but)
答案 0 :(得分:0)
错误是正确的, 绑定时,不传递事件,只需添加函数指针即可。
如果buton_goster不需要&#34;事件&#34;你应该删除它,或者你应该在调用函数时提供事件作为输入。