qt父窗口接收子窗口关闭信号
时间: 2023-04-09 21:04:26 浏览: 601
如何在父窗口中得知window.open()出的子窗口关闭事件
可以使用QObject::connect()函数将子窗口的信号与父窗口的槽函数连接起来,当子窗口关闭时,会自动触发父窗口的槽函数。具体实现可以参考以下代码:
// 子窗口类
class ChildWindow : public QWidget
{
Q_OBJECT
public:
ChildWindow(QWidget *parent = nullptr) : QWidget(parent) {}
signals:
void closed();
};
// 父窗口类
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr) : QMainWindow(parent) {}
public slots:
void onChildWindowClosed() { qDebug() << "Child window closed!"; }
};
// 在父窗口中创建子窗口并连接信号和槽函数
MainWindow mainWindow;
ChildWindow childWindow;
QObject::connect(&childWindow, &ChildWindow::closed, &mainWindow, &MainWindow::onChildWindowClosed);
// 显示子窗口并等待关闭
childWindow.show();
childWindow.exec();
阅读全文