在Qt中,可以通过重写QWidget的closeEvent()函数来监听窗口的关闭事件。closeEvent()函数会在用户点击窗口右上角的关闭按钮时被调用。
以下是一个示例:
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = nullptr);
protected:
void closeEvent(QCloseEvent *event) override;
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
// ...
}
void MyWidget::closeEvent(QCloseEvent *event)
{
// 在这里实现你的关闭监听逻辑
// ...
// 调用父类的closeEvent()函数,以便关闭窗口
QWidget::closeEvent(event);
}
在closeEvent()函数中,你可以实现自己的关闭监听逻辑,例如弹出确认对话框、保存数据等操作。最后需要调用父类的closeEvent()函数,以便真正关闭窗口。