前言
笔者之前记录过如何使用qml模块
qml自定义Quick模块(使用qml源码)_꧁白杨树下꧂的博客-CSDN博客
在设计器中使用qml自定义Quick模块(使用qml源码)_꧁白杨树下꧂的博客-CSDN博客_qml设计器
笔者也没计划要再复制记录
本次记录是在上篇的基础进行的,算是一个结合的应用吧
一、添加qml资源文件
笔者建议,直接将资源文件放在与qmldir同级目录中,以下是笔者的目录
二、添加qml文档
目录可以自主决定,笔者是放在Qml目录中,添加了CustRect.qml
qml文档的内容如下
import QtQuick 2.15
Rectangle {
width: 100
height: 100
color: "red"
}
三、修改qmldir
module com.mycompany.qmlcomponents
plugin qmlplugintest
CustRect 1.0 Qml/CustRect.qml
根据实际文件的位置,添加CustRect导出类型
四、修改main.cpp
import QtQuick 2.15
import QtQuick.Window 2.15
import com.mycompany.qmlcomponents 1.0
Window {
id: window
width: 640
height: 480
visible: true
title: qsTr("Hello World")
MyItem {
width: window.width
height: window.height
}
CustRect {}
}
只添加了一个CustRect类型的显示,运行结果如下
笔者使用的源码下载
后记
正常来说,所有需要的资源文件、qmldir文件、插件文件都应该放在一个单独的.pri中,本次只是示例,所以未单独放入。
本次测试没做设计器的相关处理,所以设计器无法使用,但可以正常运行
笔者本以为,直接放在插件工程中,就可以直接编译到插件库中,但结果是工程未做处理,也许是笔者的方法不对吧