QML之自定義枚舉類型


前言

在日常的開發工作中,我們已經離不開枚舉類型,它能幫助我們進行更好的代碼架構、更好的代碼閱讀性,在QML中也是一樣。不說廢話了,開搞~~~
QML 資料真難找,網絡上找的 QML 資料又比較淺層,吐槽一下,主要目的是想各位如果有 QML 這方面的資料的話,私信給我借鑒借鑒好不好,謝謝各位看官了
E-Mail: 2604710376@qq.com

注意

5.10中允許在QML中自定義枚舉值,可以使用關鍵字enum來定義。如果你的版本不符合要求,請不要強求....

自定義枚舉
/** - 前提說明
關鍵字
      \li      enum 

要求
      \li      Qt 版本在5.10及以上
      \li      枚舉類型、枚舉值名字都要要以大寫字母開頭

使用格式
      \li      QML文件名.枚舉類型名.枚舉值名
*/

Step 1 > 新建QML文件: WidgetStyleType.qml
Step 2 > 定義枚舉類型
/** - Project.qml
import QtQuick 2.0

// 相當於 QObject 對象,不可視的
QtObject {

    // \brief   自定義枚舉類型
    // \li      默認風格
    // \li      白雪風格
    // \li      酷黑風格
    enum SoftwareStyle {

        DefaultStyle   = 0x00000000,
        SnowWhiteStyle = 0x00000001,
        CoolBlackStyle = 0x00000002
    }
}
*/

Step 3 > 使用枚舉類型
/** -main.qml
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 1.4

Window {

    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Button {

        property int type_00: Project.SoftwareStyle.DefaultStyle
        property int type_01: Project.SoftwareStyle.SnowWhiteStyle
        property int type_02: Project.SoftwareStyle.SnowWhiteStyle
        text: "打印枚舉類型值"

        onClicked: { 

            console.log(type_00)
            console.log(type_01)
            console.log(type_02)
        }
    }
}
*/

Step 4 > 輸出結果
/** -console.log
qml: 0
qml: 1
qml: 2
*/
總結
  • 根據 QML 中的枚舉使用方式我們可以把 QML 文件名當作我們的命名空間去應用在項目


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM