我是 Tkinter 模块的新手,我尝试将 OOP 与 Tkinter 一起使用。我的代码没有错误,但列表框小部件没有输出,这是我的代码:
from tkinter import *
class Test:
word = ""
def __init__(seld , w):
self.word = w.get()
def Try(self):
return self.word
win = Tk()
a = StringVar()
win.geometry("750x750")
l1 = Label(win , text = "Name").grid(row = 0 , column = 0)
e1 = Entry(win , textvariable = a).grid(row = 0 , column = 1)
t = Test(a)
b = Button(win , text = "Show" , command = t.Try).grid(row = 1 , column = 0)
lb = Listbox(win , width = 50)
lb.grid(row = 2 , column = 0)
lb.insert(1 , t.Try)
win.mainloop()
有人可以帮助我吗?谢谢
当您创建
t
对象时,您给出 I'm 此刻 a
的值。所以在创建时,a.get()
的值是一个空字符串,因为程序刚刚开始运行。你应该尝试这个:
from tkinter import *
class Test:
def __init__(self , w):
self.w = w
def Try(self):
return self.w.get()
win = Tk()
a = StringVar()
win.geometry("750x750")
l1 = Label(win , text = "Name").grid(row = 0 , column = 0)
e1 = Entry(win , textvariable = a).grid(row = 0 , column = 1)
t = Test(a)
b = Button(win , text = "Show" , command = t.Try).grid(row = 1 , column = 0)
lb = Listbox(win , width = 50)
lb.grid(row = 2 , column = 0)
lb.insert(1 , t.Try())
win.mainloop()