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