如何从 tkinter 按钮调用 class 函数?
How to call a class function from a tkinter button?
我正在尝试创建一个程序,每次单击按钮时都会打印一些内容,但必须使用 class。
当我 运行 我的代码时,我得到这个错误:NameError: name 'self' is not defined
(我不想将 test_button 放在 class 中,因为这只是一个更大程序的一部分,如果我解决了我的问题方式,然后一些其他功能将无法工作。)
非常感谢任何帮助!!
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.geometry("500x400")
window.configure(background='grey')
class person():
def __init__(self):
pass
def test(self):
print('something')
#title label
label = tk.Label(window, text = "title",bg = '#42eff5',fg ='red',width = 35, height = 5).pack()
#button
test_button = Button(window,text='something',command = person.test(self),width= 11,height = 2,bg='blue',activebackground = 'blue',fg='white').place(x = 10,y = 30)
window.mainloop()
你需要创建一个人的实例,然后调用那个人的方法。
somebody = person()
test_button = Button(.., command=somebody.test, ...)
我正在尝试创建一个程序,每次单击按钮时都会打印一些内容,但必须使用 class。
当我 运行 我的代码时,我得到这个错误:NameError: name 'self' is not defined
(我不想将 test_button 放在 class 中,因为这只是一个更大程序的一部分,如果我解决了我的问题方式,然后一些其他功能将无法工作。)
非常感谢任何帮助!!
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.geometry("500x400")
window.configure(background='grey')
class person():
def __init__(self):
pass
def test(self):
print('something')
#title label
label = tk.Label(window, text = "title",bg = '#42eff5',fg ='red',width = 35, height = 5).pack()
#button
test_button = Button(window,text='something',command = person.test(self),width= 11,height = 2,bg='blue',activebackground = 'blue',fg='white').place(x = 10,y = 30)
window.mainloop()
你需要创建一个人的实例,然后调用那个人的方法。
somebody = person()
test_button = Button(.., command=somebody.test, ...)