如何在 QtCreator 10 和 Qt 6 中将 QGuiApplication 转换为 QApplication?

问题描述 投票:0回答:1

我正在尝试使用

PolarChartView
,但是当我运行我的代码时,我的应用程序崩溃了,qt 创建者只是告诉我应用程序崩溃了。我搜索后发现我必须将
QGuiApplication
转换为
QApplication
但是当我将
main.cpp
文件更改为此文件时,出现了一些奇怪的错误。我正在使用 QML 编写 QtQuick 应用程序。 正确的转换方法是什么?

主.cpp文件:

#include <QtWidgets/QApplication>
#include <QQmlApplicationEngine>


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

    QQmlApplicationEngine engine;
    const QUrl url(u"qrc:/RadarChart/Main.qml"_qs);
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreationFailed,
        &app, []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

以下是错误:

:-1: error: D:/CppProjects/RadarChart/main.cpp:17: undefined reference to `__imp__ZN12QApplicationD1Ev'
:-1: error: D:/CppProjects/build-radarchart-Desktop_Qt_6_5_1_MinGW_64_bit-Debug/Debug_Desktop__9a53abaa43e654f2/radarchart.8c396ce1/3a52ce780950d4d9/main.cpp.o:D:/CppProjects/RadarChart/main.cpp:7: undefined reference to `__imp__ZN12QApplicationC1ERiPPci'
c++ qt qml qt-creator qtcharts
1个回答
0
投票

来自 Qbs 手册:创建 Qt 模块的依赖关系

Qt 模块使用前缀 Qt 进行分组。如果您的产品依赖于 Qt.core 和 Qt.network 模块,您可以编写:

Depends { name: "Qt.core" }
Depends { name: "Qt.network" }

基于此,如果你想使用

Qt.widgets
,你应该将
.qbs
模块添加到你的
QApplication
文件中:

Depends { name: "Qt.widgets" }

这已在干净的 QML 项目上进行了测试,并且有效。

来源:

学分:

© www.soinside.com 2019 - 2024. All rights reserved.