gpt4 book ai didi

python - PyQt:WAITING小部件关闭

转载 作者:行者123 更新时间:2023-11-30 23:32:18 25 4
gpt4 key购买 nike

我有一个窗口/小部件,在按下按钮后显示,有没有办法让主窗口等到小部件关闭?我现在正在使用 .show() 并且我已经尝试使用 .exec_() 但它给了我这个错误:

AttributeError:“MainWindow”对象没有属性“exec_”

有什么帮助吗?

最佳答案

使用 local event-loop等待窗口/小部件关闭:

widget = QWidget()
widget.setAttribute(Qt.WA_DeleteOnClose)
widget.show()
loop = QEventLoop()
widget.destroyed.connect(loop.quit)
loop.exec() # wait ...
print('finished')

要阻止与其他窗口的交互,请设置 window modality :

widget.setWindowModality(Qt.ApplicationModal)

或者对于具有父级的顶级窗口:

window.setWindowModality(Qt.WindowModal)

当然,如果您可以将窗口/小部件更改为QDialog,那么上述任何操作都不是必需的,因为 exec 提供了相同的功能。 :

widget = QDialog()
widget.exec() # wait ...

关于python - PyQt:WAITING小部件关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462112/

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