Qt - QWidget: Cannot create a QWidget when no GUI is being used

Simplicity picture Simplicity · Apr 2, 2011 · Viewed 20.3k times · Source

I'm trying to run a simple Qt program, and when doing so, I get a console window mentioning: QWidget: Cannot create a QWidget when no GUI is being used, and the second line This application has requested the Runtime to terminate....., and the .exe file thus stops working.

My .pro file looks as follows:

#-------------------------------------------------
#
# Project created by QtCreator 2011-04-02T07:38:50
#
#-------------------------------------------------

QT       += core

QT       += gui

TARGET = Hello
CONFIG += console
CONFIG += qt
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

Any ideas on that?

Thanks.

Answer

Daniel Gallagher picture Daniel Gallagher · Apr 2, 2011

The problem is not with this .pro; it is most likely in main.cpp. Qt requires you to create a QApplication before creating any QWidget subclasses (as well as certain other classes, such as QPixmap). Your main function should begin with the line:

QApplication app(argc, argv);

and will probably end with a line like:

return app.exec();

In between these calls, you should create and show your main window.