您的位置:首页 > 文旅 > 美景 > qml import 自定义模块 cmake

qml import 自定义模块 cmake

2024/10/6 1:42:15 来源:https://blog.csdn.net/u013798595/article/details/141651336  浏览:    关键词:qml import 自定义模块 cmake

在 CMake 项目中配置和使用自定义 QML 模块的详细步骤:

1. 创建自定义 QML 模块

  1. 创建模块目录:

在 Qt 项目中创建一个目录来存放自定义 QML 模块,例如 MyModule。
在该目录中创建一个 qmldir 文件和你自定义的 QML 文件。
MyModule/qmldir

module MyModule
MyComponent 1.0 MyComponent.qml

MyModule/MyComponent.qml

import QtQuick 2.15Rectangle {width: 100height: 100color: "red"
}

2. 配置 CMake 文件

在 CMake 配置文件中指定 QML 模块路径:

告诉 CMake 和 Qt 你的自定义 QML 模块的位置。
CMakeLists.txt

cmake_minimum_required(VERSION 3.16)
project(MyQtApp)find_package(Qt6 REQUIRED COMPONENTS Core Quick)set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)# Add your QML module directory to the QML import path
set(QML_IMPORT_PATH ${CMAKE_SOURCE_DIR}/MyModule)# Define the executable
add_executable(MyQtAppmain.cppqml.qrc
)# Link the Qt libraries
target_link_libraries(MyQtApp PRIVATE Qt6::Core Qt6::Quick)# Set QML import path
target_compile_definitions(MyQtApp PRIVATE QML_IMPORT_PATH="${QML_IMPORT_PATH}")# Specify QML and QRC files
qt_add_qml_module(MyQtAppURI MyModuleVERSION 1.0QML_FILESMyModule/MyComponent.qml
)

这个 CMake 配置做了以下几件事:

使用 qt_add_qml_module 命令来配置 QML 文件和模块。
通过 target_compile_definitions 指定 QML 模块的导入路径。

3. 编写主程序和 QML 文件

编写主程序来加载 QML:

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);QQmlApplicationEngine engine;// Load QML fileengine.load(QUrl(QStringLiteral("qrc:/main.qml")));return app.exec();
}

在主 QML 文件中使用自定义模块:

main.qml

import QtQuick 2.15
import MyModule 1.0ApplicationWindow {visible: truewidth: 640height: 480MyComponent {anchors.centerIn: parent}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com