Qt - QWidget:当没有使用GUI时无法创建QWidget

Sim*_*ity 12 c++ qt qwidget

我正在尝试运行一个简单的Qt程序,当这样做时,我得到一个控制台窗口,提到:QWidget: Cannot create a QWidget when no GUI is being used和第二行This application has requested the Runtime to terminate.....,.exe因此文件停止工作.

我的.pro文件如下:

#-------------------------------------------------
#
# 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
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

谢谢.

Dan*_*her 17

问题不在于此.pro; 它最有可能在main.cpp.Qt要求您在创建任何QWidget子类(以及某些其他类,如QPixmap)之前创建QApplication.你的main功能应该从以下行开始:

QApplication app(argc, argv);
Run Code Online (Sandbox Code Playgroud)

并可能以如下行结束:

return app.exec();
Run Code Online (Sandbox Code Playgroud)

在这些调用之间,您应该创建并显示主窗口.


OMG*_*G-1 11

我发现你可以使用Qt Console项目来完成它,但是当你完成我的编辑后,它将不具备控制台程序的功能.

首先你需要交换#include <QtCoreApplication>#include <QApplication>main.cpp(你启动应用程序)

在里面 main(int,char**){

交换QCoreApplication a(argc, argv);QApplication a(argc, argv);

在QApplication和返回a.exec之间你有你的小部件和其他gui相关的东西

最后你使用 return a.exec();}