前言:看來很久的qml,一直在想爲什麼要學qml(腦子裏有個模糊的概念,qml可以做渲染,做界面更簡單)。直到看見
一、cpp代碼需要設置的點
- 定義可以導出的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 隨便下