【发布时间】:2018-03-04 01:49:31
【问题描述】:
我的 MainWindow 创建了一个名为 wid 的 QWidget。如何创建一个在该小部件关闭时激活的插槽?
【问题讨论】:
标签: c++ qt user-interface widget
我的 MainWindow 创建了一个名为 wid 的 QWidget。如何创建一个在该小部件关闭时激活的插槽?
【问题讨论】:
标签: c++ qt user-interface widget
您可以继承 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,现在您可以将wid 与onClose 信号连接到MainWindow 的插槽。
【讨论】:
moc的单独头文件中