gpt4 book ai didi

Qt:如何知道 QMdiSubWindow 何时关闭?

转载 作者:行者123 更新时间:2023-12-04 15:14:41 24 4
gpt4 key购买 nike

当用户关闭 QMdiSubWindow 时,有什么办法可以得到通知吗?我在 QMdiArea 中找不到任何信号也不在 QMdiSubWindow这表明我可以。

我认为我唯一的机会是通过子类化 QMdiSubWindow 并覆盖关闭事件,但还有其他方法吗?

最佳答案

是的,还有另一种方法:您可以在您创建的 QMdiSubWindow 上安装事件过滤器:

MdiSubWindowEventFilter * p_mdiSubWindowEventFilter;

...

QMdiSubWindow * subWindow = mdiArea->addSubWindow(pEmbeddedWidget);
subWindow->installEventFilter(p_mdiSubWindowEventFilter);
subWindow->setAttribute(Qt::WA_DeleteOnClose, true); // not mandatory, depends if you manage subWindows lifetime


bool MdiSubWindowEventFilter::eventFilter(QObject * obj, QEvent * e)
{
switch (e->type())
{
case QEvent::Close:
{
QMdiSubWindow * subWindow = dynamic_cast<QMdiSubWindow*>(obj);
Q_ASSERT (subWindow != NULL);

//
// do what you want here
//

break;
}
default:
qt_noop();
}
return QObject::eventFilter(obj, e);
}

关于Qt:如何知道 QMdiSubWindow 何时关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8818297/

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