基本上,我有一个程序会在PySide qt框架中创建一个基本的"Hello World"程序。不同之处在于,在调用
exec_()
之前,在while循环中执行print("loop")
。问题在于,该循环在用户完成程序之前不会结束,因此只有在循环结束后才会调用exec_()
。
我的问题是,如果像这样运行它,print("loop")
会运行,但窗口不会响应,并且不会显示"Hello, loop!"。如果将qt_app.exec_()
缩进到while running:
下面,则窗口将响应,但print("loop")
仅在关闭窗口后执行一次并且不再执行。
我需要能够让主窗口在多次向控制台打印"loop"时保持响应状态。
import sys
from PySide.QtCore import *
from PySide.QtGui import *
qt_app = QApplication(sys.argv)
label = QLabel('Hello, loop!')
label.show()
running = True #only set to False when user is done with app in the real code.
while running:
#I am handling connections here that MUST be in continual while loop
print("loop")
qt_app.exec_()