【发布时间】:2014-02-03 10:27:04
【问题描述】:
我用一些简单的 Tkinter 窗口编写了一个程序,例如一个“Hello”标签。是否可以同时在 Python Shell 中键入和发出命令?我试过了,但是 Python Shell 没有出现“>>>”来给出命令,所以当我输入并按 Enter 时,光标会转到下一行,而不是运行字符串。我希望你明白我的意思
【问题讨论】:
标签: python shell tkinter simultaneous
我用一些简单的 Tkinter 窗口编写了一个程序,例如一个“Hello”标签。是否可以同时在 Python Shell 中键入和发出命令?我试过了,但是 Python Shell 没有出现“>>>”来给出命令,所以当我输入并按 Enter 时,光标会转到下一行,而不是运行字符串。我希望你明白我的意思
【问题讨论】:
标签: python shell tkinter simultaneous
你想看到打开的窗口并同时执行>>>后面的命令。
我看到的两个解决方案:
在使用 Python Shell 执行 xxx.mainloop() 时删除它。我是有条件地这样做的。
import sys
if 'idlelib' not in sys.modules:
xxx.mainloop()
在另一个线程中启动主循环。你不应该在生产代码中这样做,因为 Tkinter 不是线程安全的。
import threading
t = threading.Thread(target = xxx.mainloop)
t.start()
这是我能想到的两个解决方案,因为1. 可能并不总是有效。
【讨论】: