在Python tkinter上调用@staticmethod函数按钮单击[重复]

pod7payv  于 2023-08-02  发布在  Python
关注(0)|答案(1)|浏览(82)

此问题在此处已有答案

Why is my Button's command executed immediately when I create the Button, and not when I click it? [duplicate](5个答案)
12个月前就关门了
为什么不工作?PyCharm消息:应为类型“Union[str,()-> Any]”,但得到的是“None”。我不明白。一个项目的一部分。感谢您的回复。

import tkinter as tk

class ClassA(tk.Tk):

    def __init__(self):
        super().__init__()

        self.button = tk.Button(self, text="Start", command=ClassA.a_method())
        self.button.pack()

    @staticmethod
    def a_method():
        print('a')

if __name__ == '__main__':

    app = ClassA()
    app.mainloop()

字符串

dphi5xsq

dphi5xsq1#

删除第9行中的括号。
更改此选项:
self.button = tk.Button(self, text="Start", command=ClassA.a_method()
致:

self.button = tk.Button(self, text="Start", command=ClassA.a_method)

字符串

相关问题