Решение состоит в том, что вам нужно объявить в заголовочном файле, что вы переопределите closeEvent. В документах вы можете видеть, что виртуально защищен, это означает, что вы можете переопределить его.
Ваш код должен быть следующим:
Заголовочный файл:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
protected:
void closeEvent(QCloseEvent *event) override;
private:
Ui::MainWindow *ui;
};
-
#endif // MAINWINDOW_H
Файл cpp:
void MainWindow::closeEvent(QCloseEvent *event)
{
event->ignore();
}