上面这张图是目前的项目结构图,实现了文件的分类管理。在初始的qt quick项目中创建的qml文件都会和源文件、cmake文件在同一个目录下。这样随着项目文件的增加,会出现项目文件混乱现象,不方便管理,因此需要对qml文件进行同意管理。因此,我们将qml文件都放在同一个qml的目录下面。
将qml统一放到文件夹后,需要将qml文件引入到项目中,因此需要在CMakeLists.txt文件中添加引用路径。引入的代码如下:
set(QML_DIR "qml")
qt_add_qml_module(appDDConnect
URI DDConnect
VERSION 1.0
QML_FILES
${QML_DIR}/Main.qml
${QML_DIR}/Mqtt_page.qml
${QML_DIR}/MyButton.qml
${QML_DIR}/Udp_page.qml
)
需要注意的是,在main.c文件中需要修改main.qml文件的引用路径。修改的代码如下:
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
//const QUrl url(QStringLiteral("qrc:/DDConnect/Main.qml"));z这是没有归纳到qml文件夹前的引用方式
const QUrl url(QStringLiteral("qrc:/DDConnect/qml/Main.qml"));
QObject::connect(
&engine,
&QQmlApplicationEngine::objectCreationFailed,
&app,
[]() { QCoreApplication::exit(-1); },
Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
设置完成后,项目实现文件归类,并正常运行。