【发布时间】:2013-05-30 13:44:52
【问题描述】:
我正在尝试制作一个 Tkinter 程序来显示您输入的内容,但我在 IDLE shell 中得到了一堆数字。
我的程序:
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.text_write = Entry(frame)
self.text_write.pack()
self.Show = Button(frame, text='Show', command=self.Show)
self.Show.pack(side=RIGHT)
def Show(self):
Label(self.text_write.get())
root = Tk()
app = App(root)
root.mainloop()
但不是显示文本。数字出现在我的 IDLE shell 中,例如:
.4334975024
.4334975600
.4334975672
.4334975816
.4334975960
.4334976104
.4334976248
.4334976392
.4334976536
有人能解释一下这个问题以及我如何解决它吗?
【问题讨论】:
-
App.Show()(原版)应该完成什么? -
为什么要用实例上的按钮替换
App.Show()? (self.Show = Button(...))。Button动作现在指向它自己。 -
@MartijnPieters:实际上,命令是在构造函数调用期间设置的,即使名称被替换,旧方法也不会被处理掉。但我同意这是不好的做法。
-
@IgnacioVazquez-Abrams:它被遮蔽了,因此无法从
self访问类方法。我在简化。 :-) -
它没有被遮蔽,而是被完全替换。但不是在将引用传递给
Button构造函数之前。
标签: python python-3.x tkinter