QWidget Cannot create a QWidget without QApplication

Данная Ошибка 

QWidget: Cannot create a QWidget without QApplication

возникает, когда в консольном приложение используется, например, QMessageBox, то есть если в приложении используется QWidget, то нужно заменить QCoreApplication или QGuiApplication или  на QApplication в файле main.

Это 

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

меняем на это

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

Три главных класса Qt:
QApplication — применяется для стандартных приложений QWidget;
QCoreApplication — применяется для консольных приложений, базовый класс;
QGuiApplication — применяется в консольных приложениях, когда в консольном приложении нам нужно использовать некоторые классы из модуля графического интерфейса (расширяет функциональность, связанной с обработкой виджетов).

503

Leave a Reply

Ваш адрес email не будет опубликован.