在Qt中,可以通过重写closeEvent事件来实现点击窗口的关闭按钮时弹出提示窗口,并根据用户选择执行相应的操作。

以下是一个示例代码:

#include <QCloseEvent>
#include <QMessageBox>
#include <QWidget>

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {}

protected:
    void closeEvent(QCloseEvent *event) override
    {
        QMessageBox::StandardButton button = QMessageBox::question(this, "提示", "确定要退出吗?",
                                                                   QMessageBox::Yes | QMessageBox::No);
        if (button == QMessageBox::Yes) {
            event->accept(); // 接受关闭事件,执行关闭操作
        } else {
            event->ignore(); // 忽略关闭事件,取消关闭操作
        }
    }
};

在上述代码中,重写了closeEvent事件处理函数。当用户点击窗口的关闭按钮时,会弹出一个提示窗口询问用户是否确定要退出。如果用户点击了"确定"按钮,则调用event->accept()接受关闭事件,执行this->close()关闭窗口;如果用户点击了"取消"按钮,则调用event->ignore()忽略关闭事件,取消关闭操作。

请注意,上述代码中的MyWidget是继承自QWidget的自定义窗口类,你可以根据自己的实际情况来修改。

Qt只有点击关闭界面的关闭按钮弹出提示窗口点击OK退出点击窗口的关闭按钮取消执行this-close不弹出

原文地址: https://www.cveoy.top/t/topic/ixd0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录