gpt4 book ai didi

qt - 需要来自 QWidget 的类似完成信号的东西

转载 作者:行者123 更新时间:2023-12-03 07:51:34 24 4
gpt4 key购买 nike

我正在寻找类似来自 QDialog 的完成信号的东西, 仅适用于 QWidget .原因是,一旦小部件弹出(这根本不是问题),我就会禁用我的工具栏,并且我希望在小部件关闭后再次启用工具栏。

我也不能覆盖那个小部件的关闭事件,因为那样我们就会在业务类中有 GUI 代码。

最佳答案

您可以将widget设置为关闭时删除,然后收听它的destroyed信号:

widget->setAttribute( Qt::WA_DeleteOnClose );
connect( widget, SIGNAL(destroyed(QObject*)), this, SLOT(widgetDestroyed(QObject*)) );

不过,这仅在您对小部件内容不感兴趣时​​才有效。在点 destroyed()发出,小部件不是 QWidget不再,只是一个 QObject (因为 destroyed() 是从 ~QObject 发出的),所以你不能转换参数 QObject*QWidget了。

一个简单的替代方法可能是用 QDialog 包裹您的小部件。 .

关于qt - 需要来自 QWidget 的类似完成信号的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928233/

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