Qt/ c++ -关闭一个小部件时关闭两个小部件

Qt/C++ - Closing two widgets when one is closed

本文关键字:小部 两个 c++ Qt 一个      更新时间:2023-10-16

我有一个主窗口,它创建了两个小部件:带有菜单和主应用程序的"主窗口"和一个小部件,它在自己的窗口中提供各种设置,与主应用程序断开连接。

是否有一个事件在Qt这样,我可以强制设置小部件关闭,如果我关闭/隐藏/X出主应用程序的窗口?

您可以:

1-使Settings小部件成为主窗口

的子窗口

2-使用事件过滤器来检测主窗口的关闭事件(参见QObject::installEventFilter()QCloseEvent)

3-覆盖closeEvent在主窗口

主窗口有一个closeEvent函数,你可以重写它来关闭其他窗口:

void MainWindow::closeEvent(QCloseEvent *event)
{
    otherWindow->close();
    QMainWindow::closeEvent(event);
}