Данная Ошибка
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 — применяется в консольных приложениях, когда в консольном приложении нам нужно использовать некоторые классы из модуля графического интерфейса (расширяет функциональность, связанной с обработкой виджетов).
