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

时间:2018-03-04 01:49:32

标签: c++ qt user-interface widget

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

1 个答案:

答案 0 :(得分: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的插槽相关联。