大家都知道,qml作為構建介面的語言是非常簡潔的,但是介面的後台有些時候是經常要與c++互動的,那麼這個時候,如何與c++進行互動就尤為重要了,在這裡就需要用到
template
int qmlregistertype(const char *uri, int versionmajor, int versionminor, const char *qmlname);這個模板函式,它是在qml系統中註冊名為qmlname的c++型別檔案
uri:這個引數類似於c++中的命名空間,如果不知道如何使用,沒關係,下面的例項中會展示如何使用。
versionmajor:主版本號。
versionminor:次版本號。
qmlname:c++檔案在qml中的類名,需要注意的是這個類名首字母必須要大寫,不然會報錯。
接下來就看看如何操作的吧
.h
#ifndef qmltype.cpp#define qmltype#include
class qmltype:public
qobject
;#endif
//qmltype
#include "需要注意的是如果函式想要在qml中被呼叫,那麼此類必須繼承於qobject,另外需要在函式的開頭新增q_invokable關鍵字。接下來就是如何向qml中註冊c++檔案了。qmltype.h
"qmltype::qmltype()
qstring qmltype::showinfo()
#include
"qmltype.h
"int main(int argc, char *ar**)
qml檔案
import qtquick 2.3在qml中要把註冊的url:com.type.qmltype匯入進去,那麼接下來接下來就可以正常操作c++檔案了。操作演示如下:import qtquick.controls 1.2
import com.type.qmltype 1.0
visible: true
width: 640
height: 480
title: qstr("測試")
row}
textfield}}
qml與C 的互動
簡單說下我自己對qml與c 的互動的理解流程 1.介面互動,很多新手可能會寫qt介面或者qml介面,但想要把qml與c 結合起來就一臉矇逼了。首先我提供個簡單的方法實現qml和c 的介面互動,首先引入幾個重要的標頭檔案,當然在專案檔案中需要加qt quickwidgets才能引用以下標頭檔案 inc...
qml與C 的互動
qml與c 的互動,簡單說下我自己對qml與c 的互動的理解流程 1.介面互動,很多新手可能會寫qt介面或者qml介面,但要把qml與c 結合起來就一臉矇逼了。首先我提供個簡單的方法實現qml和c 的介面互動。首先引入幾個重要的標頭檔案 include include include widget ...
玩轉Qml 5 Qml與C 互動
qml訪問c qml已經有很多功能,不過終歸會有不夠用或不適用的地方,需要通過與c 的互動進行功能擴充套件。這回濤哥嘗試把所有qml與c 互動相關的知識點都寫出來,做乙個透徹 全面的總結。玩轉qml 系列文章,配套了乙個優秀的開源專案 taoquick github 訪問不了或者速度太慢,可以用國內...