我正在尝试使用
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'
Qt 模块使用前缀 Qt 进行分组。如果您的产品依赖于 Qt.core 和 Qt.network 模块,您可以编写:
Depends { name: "Qt.core" } Depends { name: "Qt.network" }
基于此,如果你想使用
Qt.widgets
,你应该将 .qbs
模块添加到你的 QApplication
文件中:
Depends { name: "Qt.widgets" }
这已在干净的 QML 项目上进行了测试,并且有效。
来源:
学分: