QtQuick_QtCharts_ChartView编译错误

在尝试使用QtCharts模块时遇到编译错误'!“NostyleavailablewithoutQApplication!”'。问题在于QGuiApplication不适用于QtCharts,因为QtCharts需要QApplication。解决方法是将QGuiApplication替换为QApplication,并在.pro文件中添加'QT+=widgets'。更新后的main.cpp文件包含了QApplication的使用,从而解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译错误ASSERT: "!“No style available without QApplication!”"in file kernel\qapplication.cpp, line 1065

新建了一个 Qt Quick Application 应用,使用QtCharts模块报错:

QML debugging is enabled. Only use this in a safe environment.
ASSERT: "!"No style available without QApplication!"" in file kernel\qapplication.cpp, line 1065
ASSERT: "!"No style available without QApplication!"" in file kernel\qapplication.cpp, line 1065

官方文档:

Note: Since Qt Creator 3.0 the project created with Qt Quick Application wizard based on Qt Quick 2 template uses QGuiApplication by default. As Qt Charts utilizes Qt Graphics View Framework for drawing, QApplication must be used. The project created with the wizard is usable with Qt Charts after the QGuiApplication is replaced with QApplication.

由于Qt Charts利用Qt Graphics View Framework来绘图,所以必须使用QApplication。使用向导创建的项目可以在QGuiApplication被QApplication替换后使用Qt Charts。

因此,将原先的文件修改,修改内容如下:
1.pro文件中添加:

QT += widgets

2.修改main.cpp为:

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

It‘s Done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值