所以我有这段代码:
if (typeof define === 'function' && define.amd)
在IDLE控制台中它可以正常工作并且我希望它能够完成。但每当我在桌面上运行.py文件时。出现黑色窗口,然后关闭,没有任何反应。有什么帮助吗?
答案 0 :(得分:2)
首先,您的类中有两个具有相同名称的方法。第一个被第二个覆盖。在第二行结束时,您需要以下行:
root.mainloop()
这实际上将运行GUI。从脚本运行时需要它,但在交互式解释器中运行时则不需要。
在第二个__openInjector
:
...
self.code.config(yscrollcommand=scroll.set)
frame.pack(fill='y')
root.mainloop()
答案 1 :(得分:1)
在第二个__openInjector
方法结束时,添加以下行:root.mainloop()
。
这是Tkinter运行代码所必需的。 mainloop
实际上只是一个等待事件的无限循环。事件可以是用户交互,例如单击按钮。
我的猜测是,出于纯粹方便的原因,您在交互式运行时不需要mainloop
。