gpt4 book ai didi

python - PyQt:app.exec_() 停止运行以下所有代码

转载 作者:太空狗 更新时间:2023-10-29 21:17:28 26 4
gpt4 key购买 nike

我的代码如下所示:

app = QApplication(sys.argv)
self.interface = Interface()

# The figure
self.fig = self.interface.fig
self.ax = self.fig.add_subplot(111)

self.interface.show()
app.exec_()

print 'this is not printed'

问题是一旦 app.exec_() 被执行,在我关闭弹出的窗口之前什么都没有。

如何继续运行代码?

最佳答案

这是有意的。您需要做的是在调用 app.exec() 之前使用信号/槽、Qt 类中的代码或生成线程。

信号和槽实际上是您与 Qt 交互的方式。基本上,信号是任何“事件”或自定义“事件”,而插槽可以被认为是“事件处理程序”。例如,当有人点击 GUI 上的按钮时,它会创建一个信号来寻找连接到它的任何处理程序。您可以将一个、一个或多个插槽连接到每个信号(您甚至可以多次连接同一个插槽)! Here is a good reference在 python 中进行此操作。

在您的 Qt 类中编码通常意味着创建对您有用的插槽。请记住,您不想让事件循环持续太久,因此如果您这样做,请生成一个新线程。

您可以使用的第三个选项是分拆其他线程。从线程与 Qt 交互时要小心,如果你这样做,你必须使用信号和槽。将线程实现为 suggested in this SO .

关于python - PyQt:app.exec_() 停止运行以下所有代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23142719/

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