Qt Quick學習一(核心編程)

  • 在一個quick 程序中其實 .qml 和c++文件是兩個平行的世界,所以想要在qml中使用c++ 在qt中提供了兩種方法
              a、把c++的一個類註冊爲qml環境的一個類型  這樣就能在qml環境中使用該類型創建對象
              b、在c++中構造一個對象,將這個對象設置爲qml的上下文屬性,在qml中能夠直接使用該屬性
  • 想要在qml中使用 c++ (不管是上面哪種方式)必須滿足兩個條件
               a、繼承自QObjec 或是他的派生類
               b、使用Q_OBJECT宏
1、在qml中可以訪問的c++類(設置類的屬性)
        信號和槽 : 可以把c++信號鏈接到qml 也可以把 qml信號鏈接到c++槽 也可以直接調用c++的信號鏈接c++的槽
        Q_INVOKABLE宏修飾的 c++類中的成員方法
        Q_ENUMS 宏修飾的枚舉類型
        Q_PROPERTY宏修飾的屬性  這個宏用起來有點麻煩詳細可以查看文檔
2、在qml怎麼僵c++類註冊爲qml類型
        ①實現c++類
        ②註冊成qml類型  qmlRegisterSingleType()單例類型;qmlRegisterUncreatableType()有附加屬性的類型;qmlRegisterTypeNotAvailable()註冊一個類型用來佔位;qmlRegisterType()註冊一個非單利類型
        ③在qml中導入類型 import()
        ④在qml中創建該類型的實例並且使用
3、在c++對象導出爲qml屬性
         ①查看圖a1    
         ②如果是+Windows 的程序如圖a2

發佈了27 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章