QML外掛程式擴充套件(二)

2021-09-25 03:34:31 字數 1409 閱讀 3530

上一節介紹了純qml的外掛程式擴充套件方式,這種擴充套件方式基本滿足大部分的擴充套件需求,下面開始介紹比較小眾的基於c++的擴充套件

1.更新myplugin工程下的qmldir檔案,加入plugin myplugin, 其中myplugin是外掛程式的動態庫名稱,在windows下對應myplugin.dll,在linux下多月myplugin.so

2.編譯myplugin外掛程式,生成myplugin.dll,這裡工程沒有copy配置,所以預設dll不會拷貝到e:/t/qmlplugin/qmlplugintest/,需手動拷貝,

(二)生成外掛程式描述檔案qmltypes

3.呼叫qmlplugindump生成描述檔案:

qmlplugindump myplugin 1.0 e:\t\qmlplugin\qmlplugintest > e:\t\qmlplugin\qmlplugintest\myplugin\plugin.qmltypes

會自動生成描述檔案:

import qtquick.tooling 1.1

// this file describes the plugin-supplied types contained in the library.

// it is used for qml tooling purposes only.

// // this file was auto-generated by:

// 'qmlplugindump myplugin 1.0 e:\t\qmlplugin\qmlplugintest'

module

}

4. 再次開啟myplugin工程的,加上這句:typeinfo plugin.qmltypes

1.如果想自己寫c++擴充套件,可以將qtquick.controls 源**研究研究

2. 該節示例**:

1. qmlplugindump會區分release和debug,建議直接編譯release

2. 如果外掛程式應用了除qt之外的dll(建議不要這麼引用),需要將dll跟qmlplugindump放同乙個目錄

3. 如果使用了c++編寫的dll外掛程式方式, module的名稱不能與exe內部註冊的mudule重複

QML外掛程式擴充套件(一)

準備分兩節來介紹qml擴充套件外掛程式,分別為 一 基於qml檔案的擴充套件方式 二 基於c 的外掛程式擴充套件 這篇先介紹基於qml的外掛程式擴充套件。qmldir 用於組織自定義的qml外掛程式,qmldir的具體寫法可參考 qmltypes qml外掛程式的解釋檔案,用於qtcreator語法...

QML外掛程式擴充套件(一)

準備分兩節來介紹qml擴充套件外掛程式,分別為 一 基於qml檔案的擴充套件方式 二 基於c 的外掛程式擴充套件 這篇先介紹基於qml的外掛程式擴充套件。qmldir 用於組織自定義的qml外掛程式,qmldir的具體寫法可參考 qmltypes qml外掛程式的解釋檔案,用於qtcreator語法...

QML外掛程式擴充套件(一)

qml外掛程式擴充套件 一 準備分兩節來介紹qml擴充套件外掛程式,分別為 一 基於qml檔案的擴充套件方式 二 基於c 的外掛程式擴充套件 這篇先介紹基於qml的外掛程式擴充套件。qmltypes qml外掛程式的解釋檔案,用於qtcreator語法高亮。可通過qt提供的工具qmlplugindu...