學習qml(五) c++與qml的交互

前言:看來很久的qml,一直在想爲什麼要學qml(腦子裏有個模糊的概念,qml可以做渲染,做界面更簡單)。直到看見

 

 

一、cpp代碼需要設置的點

  1.  定義可以導出的c++類

        條件:從QOBJEC 或者 它的派生類繼承,使用Q_OBJECT宏

  • 2、定義類的成員函數時  需要用Q_INVOKABLE(譯:可調用的) 宏來修飾;並且這個宏必須放在返回類型前面。eg:
 
  //定義了《可調用的》兩個函數
    Q_INVOKABLE GenerateAlgorithm algorithm() const;
//返回值爲GenerateAlgorithm的一個函數
    Q_INVOKABLE void setAlgorithm(GenerateAlgorithm algorithm);

 3、

 Q_INVOKABLE 能夠調用不能修改,Q_PROPERTY 能夠改變值和發送信號等

 

二、qml設置的點

 1、註冊qml類型

https://doc.qt.io/qt-5.12/qqmlengine.html#qmlRegisterType

qmlRegisterType<ColorMaker>("an.qt.ColorMaker", 1, 0, "ColorMaker");
//調用的對象  名稱 版本(主) 版本(副) 對象


函數原型(int qmlRegisterType (const char *uri, int versi onMajor,int versionMinor, const char *qmlName) ;)

下面就可以引用了

 

代碼詳見附錄   //download.csdn.net/download/a1ngel/12265044 隨便下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章