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应用程序?
感谢。
答案 0 :(得分:4)
pyqt带有自己的(无限)事件循环,因此您无需构建自己的事件循环。 app.exec_()
进入此循环,这就是您没有看到执行后的代码的原因。只有在关闭所有qt窗口后,才能执行任何剩余的操作。
QTimer用法示例:
main()
之前exec_()
中的:
def timout():
if win32api.GetAsyncKeyState(win32con.VK_SHIFT):
print(True)
timer = QtCore.QTimer(self)
timer.timeout.connect(timeout)
timer.start(100)