我的0.114基礎QML+Felgo(V-Play)學習(1)(主框架

    初入大學,在基礎十分薄弱的現狀下開始嘗試完成一款跨平臺的APP,選擇的工具便是高中時略有耳聞的QtQML,然而發現自己搗鼓官方開源版qt on android時總是出現一些意料之外的問題(列如往資源文件中添加xml後在手機端安裝打開後閃退等等)。無奈之下本打算放棄,卻意外發現有着一款建立,管理工程較方便完善的擴展庫v-play,它一鍵化的環境配置,除了不支持c++註冊爲QML的交互類外調試都很方便的Live Run功能都吸引了我。在閱讀了官方提供的一些example project後,頭鐵的我開始了自己摸着石頭過河的學習(瞎搞)歷程... 積分積分gkd!

import Felgo 3.0
import QtQuick 2.9
import QtMultimedia 5.9
App {
    id: root;
    onInitTheme: {
        Theme.platform = "ios";
        Theme.colors.statusBarStyle = Theme.colors.statusBarStyleHidden;
    }
    
    Audio {
      id: music;
      source: "../assets/mus/Welcome.mp3";
      loops: 1;
      autoLoad: true;
    }
    
    Component.onCompleted: music.play();
    
    Page {
        useSafeArea: false;
        anchors.fill: parent;
        
        Navigation{
            id: navigation;
            NavigationItem{
                title: "Create";
                icon: IconType.plus;
                
                NavigationStack{ CreateNewPage{ } }
            }
            
            NavigationItem{
                title: "User";
                icon: IconType.user;
                
                NavigationStack{ UserPage{ } }
            }
        }
    }
}

     ios主題下的界面,內有一個listview(圖內人物爲我的某騷帥氣舍友請無視,此LiveClient中可以直接切換主題和設置設備分辨率,比較方便)

    上面是主頁的一段代碼,App是felgo的基本框架,有着自適應屏幕大小的特性;v-play提供desktop/ios/android 三種接近原生態的UI控件主題,可以通過對Theme成員的修改變更狀態欄顏色及是否隱藏和在其上添加額外Item、字體、整體控件風格的修改。

    接着,各個頁面主要由Navigation組織,向其中添加NavigationItem即可創建各個不同的頁面,同時利用NavigationStack對層次進行處理,竊以爲比原QML的各View(stackview)要優越一些。簡單美觀的界面建立起來還是很方便的。

    此外,如果只做一些學習性的實驗,felgo內的Icon爲我們內置了許多便利美觀的素材,直接使用即可節約不少臨時找素材的時間,直接對含有icon屬性的控件調用IconType.直觀的名稱即可食用。

 

   最後給希望深入學習此框架的各位一個建議:認真研究官方自帶的各種demo,可以學到各種控件的用法、包括qml工程組織等等真正實用的知識。

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