【Qt】之【Bug】QWidget: Cannot create a QWidget without QApplication1

cpp 复制代码
#include <QCoreApplication>
#include "showLibWidget.h"
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    for (int i = 0; i < argc; ++i)
    {
        qDebug() << "Argument " << i << ": " << argv[i];
    }

    showLibWidget w;
    // w.RcvArgFromOutput(argv[0]);
    w.show();
    return a.exec();
}

解决

创建前并没有先创建一个 QApplication 对象。在Qt中,所有的GUI组件都需要依赖于一个 QApplication 实例才能正常工作;

QCoreApplication 不支持图形界面。需要使用 QApplication 而不是 QCoreApplication 来创建应用程序实例。

cpp 复制代码
#include <QApplication>
#include "showLibWidget.h"
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    for (int i = 0; i < argc; ++i)
    {
        qDebug() << "Argument " << i << ": " << argv[i];
    }

    showLibWidget w;
    w.RcvArgFromOutput(argv[0]);
    w.show();
    return app.exec();
}
相关推荐
mahuifa1 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
冷眼看人间恩怨1 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
独行soc1 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain1 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship1 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站1 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
装不满的克莱因瓶1 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
梦想平凡3 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO3 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong3 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存