【发布时间】:2017-02-27 08:05:26
【问题描述】:
我最近开始在我正在做的编程课程中使用 PyCharm 而不是 IDLE,并承诺能够运行程序而无需经常保存它们,然后转到菜单键入“在模块中运行”来这样做,并且还可以在选项卡中打开多个文件以便在它们之间轻松切换。
虽然这对后者有好处,并且我终于解决了前者的目录问题,但我正在处理的当前项目涉及 tkinter,并且 PyCharm 在文件运行时拒绝启动 tkinter 窗口。它可以很好地打印语句并进行计算,但它不会启动 tkinter 窗口。该程序在 IDLE 中运行良好,但我宁愿不要在 PyCharm 中进行所有编辑,只是为了不断地在 IDLE 中打开并运行它以弹出该死的窗口。我正在使用 python 3.5。
有人有解决办法吗?
【问题讨论】:
-
显示代码和错误信息。您是否在代码中使用了
root.mainloop()? IDLE 使用tkinter并拥有root.mainloop()(显示自己的窗口),因此它也可以运行您的代码。但通常你需要root.mainloop()来运行 tkinter 程序。 -
谢谢。我有一个名为 main() 的函数,它诱使我认为我应该已经这样做了。我向正确的对象添加了一个 mainloop(),现在它可以正常工作了,谢谢。
-
也可以在 IDLE 中运行程序,而无需显式保存和使用菜单。在“设置”对话框的“常规”选项卡上,选择 () 不提示自动保存首选项。然后使用快捷键 F5。使用 PyCharm 可能还有其他原因,但不是这个原因。在程序运行后(无论是使用 F5 还是菜单)并且 Python 切换到交互模式(作为启动 Python 时的 IDLE 请求),IDLE 每秒注入 20 次 Tcl update() 调用。这与 root.update 调用的 tcl 函数相同。目的是允许人们以交互方式使用、学习和开发 tk(inter) GUI。
标签: python python-3.x tkinter pycharm python-idle