【问题标题】:How do I get a tkinter window to launch when running a program in PyCharm?在 PyCharm 中运行程序时如何启动 tkinter 窗口?
【发布时间】: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


【解决方案1】:
from tkinter import*
tk = Tk()
btn = Button(tk, text="Click Me")
btn.pack()
tk.mainloop()

最后的 tk.mainloop() [或 root.mainloop() 如果您的 Tk()=root] 或您的代码会弹出一个小窗口。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多