在Python中调用类外部的方法 - Tkinter事件

时间:2018-05-03 08:28:30

标签: python tkinter

我想在另一个类中调用一个方法,并在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)

1 个答案:

答案 0 :(得分:0)

错误是正确的, 绑定时,不传递事件,只需添加函数指针即可。

如果buton_goster不需要&#34;事件&#34;你应该删除它,或者你应该在调用函数时提供事件作为输入。