如何为主窗口创建的窗口小部件创建QCloseEvent

问题描述 投票:0回答:1

我的MainWindow创建了一个名为wid的QWidget。如何创建在窗口小部件关闭时激活的插槽?

c++ qt user-interface widget
1个回答
1
投票

您可以子类化QWidget并添加如下功能:

class CloseableWidget: public QWidget {
    Q_OBJECT
public:
    CloseableWidget(QWidget* parent = nullptr): QWidget(parent) {}
signals:
    void onClose(QCloseEvent* e);
protected:
    void closeEvent(QCloseEvent* e) override {
        emit onClose(e);
    }
};

并创建CloseableWidget而不是QWidget的实例,现在您可以将widonClose信号与MainWindow的插槽连接。

© www.soinside.com 2019 - 2024. All rights reserved.