def main():
app = QtGui.QApplication(sys.argv)
gui = GUIClass()
gui.showUI()
app.exec_()
while True:
if win32api.GetAsyncKeyState(win32con.VK_SHIFT):
print(True)
if __name__ == '__main__':
main()
app.exec_()之后的代码没有运行。如何做无限循环和运行我的PyQt应用程序?
谢谢。
pyqt自带(无限)事件循环,因此您不必构建自己的事件循环。app.exec_()
进入这个循环,这就是为什么您没有看到后面执行的代码。只有在你关闭了所有qt窗口后,才会执行剩余的操作。
QTimer使用示例:
在exec_()
之前的main()
中:
def timout():
if win32api.GetAsyncKeyState(win32con.VK_SHIFT):
print(True)
timer = QtCore.QTimer(self)
timer.timeout.connect(timeout)
timer.start(100)