gpt4 book ai didi

python - 从 PyQt 事件循环中执行 Python 代码

转载 作者:太空狗 更新时间:2023-10-30 01:35:23 27 4
gpt4 key购买 nike

我正在测试使用 PyQt 构建的图形用户界面,我希望能够使用在 PyQt 事件循环启动后执行的 Python 代码与图形用户界面进行交互 (app.exec_())。另一种说法是,我希望对 app.exec_ 的调用立即返回,就像 gui 是无模式的一样,然后是与 gui 交互的更多 python 代码。

我找到了 this在线程中运行 PyQt 循环但不想做一些非常规的事情的例子。有什么方法可以让 PyQt 消息循环继续处理消息,同时在调用 exec_ 后在主线程中执行 python 代码?

最佳答案

此处的一个选项是在调用 `exec_()' 之后使用 QtCore.QTimer.singleShot() 调用来启动您的 python 代码。

例如:

if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)

# Setup the GUI.
gui = MyGui()
gui.showMainWindow()

# Post a call to your python code.
QtCore.QTimer.singleShot(1000, somePythonFunction)

sys.exit(app.exec_())

这将在 1 秒后执行函数 somePythonFunction()。您可以将时间设置为零,以使添加的函数立即排队等待执行。

关于python - 从 PyQt 事件循环中执行 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4893748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com