У меня есть приложение QML, в котором я подклассифицировал QApplication
, чтобы создать свой главный экран с QML. Проблема в том, что я нажал кнопку «Закрыть», приложение закрывается по назначению, но я хочу обработать ситуацию, когда некоторые службы выполняются. Я хочу переопределить поведение кнопки закрытия.Запретить закрытие приложения QApplication при запуске службы
Я пробовал переопределить closeEvent()
без везения. Может ли кто-нибудь указать мне, каким образом я могу справиться с этим?
UPDATE: Это фрагмент кода я попытался
class SingleApplication : public QApplication {
Q_OBJECT
public:
SingleApplication(int &argc, char **argv);
void closeEvent (QCloseEvent * event)
{
event->ignore();
}
}
main.cpp
#include "view.h"
#include <QDebug>
#include <QDesktopWidget>
#include "SingleApplication.h"
int main(int argc, char *argv[])
{
SingleApplication app(argc, argv);
if(!app.isRunning()) {
app.processEvents();
View view(QUrl("qrc:/qml/main.qml"));
#ifdef Q_OS_LINUX
view.setFlags(Qt::WindowMinimizeButtonHint|Qt::WindowCloseButtonHint);
#endif
view.setMaximumSize(QSize(1280,700));
view.setMinimumSize(QSize(1280,700));
// Centering the App to the middle of the screen
int width = view.frameGeometry().width();
int height = view.frameGeometry().height();
QDesktopWidget wid;
int screenWidth = wid.screen()->width();
int screenHeight = wid.screen()->height();
view.setGeometry((screenWidth/2)-(width/2),(screenHeight/2)-(height/2),width,height);
view.show();
return app.exec();
}
return 0;
}
Некоторые соответствующие коды могут помочь вам получить правильный ответ. Что вы уже пробовали? Какая ошибка? – folibis
Попробуйте использовать ['QApplication :: setQuitOnLastWindowClosed()'] (http://doc.qt.io/qt-4.8/qapplication.html#quitOnLastWindowClosed-prop) –
Вы не вставляли код, который имеет функцию под названием ' closingDown() '. Пожалуйста, напишите [Short, Self Contained, Correct (Compilable), Example] (http://sscce.org/). – Mitch