我试图在Python Programming for Kids中继续学习。我正与一群邻居小孩一起工作,并降低我们使用Raspberry Pi作为我们的计算机的成本。我是Windows用户,我选择的GUI构建器是WxPython。我想为下周的课程做好准备并遇到问题。我输入了以下代码
from tkinter import *
tk = Tk()
btn = Button(tk,text = 'click me')
btn.pack()
根据书中第二行应该创建一个窗口(我认为在Wx世界中的框架),第三行定义一个按钮对象,第四行将其插入窗口。
然而,这不起作用,我无法弄清楚原因。我输入了tkinter,当我输入dir(tk)时,tk对象有很多方法/属性可见,所以我知道我们在Pi上有tkinter。
任何见解都将受到赞赏。
答案 0 :(得分:2)
您必须运行Windows系统事件循环并处理事件。这意味着程序中的最后一个命令应为tk.mainloop()
。 X Windows系统以类似于Windows的方式运行。只要鼠标移动,点击按钮或窗口需要重绘等等,系统就会调度事件消息。在Windows上,您必须使用GetMessage()和DispatchMessage()来“填充消息队列”。使用Tkinter,这在mainloop()函数中处理(对于Windows和X)。