最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT實(shí)現(xiàn)QML側(cè)邊導(dǎo)航欄的最簡方法

 更新時(shí)間:2022年06月15日 09:30:06   作者:何名取  
本文主要介紹了QT實(shí)現(xiàn)QML側(cè)邊導(dǎo)航欄的最簡方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

TabBar

在實(shí)際開發(fā)中導(dǎo)航欄是必不可少的控件,QtQuick Controls控件中可以使用TabBar來做導(dǎo)航欄,原始的導(dǎo)航欄是橫向的,查找了其屬性后發(fā)現(xiàn)無法直接設(shè)置為縱向的。本節(jié)將給小伙伴們介紹一種非常簡單的實(shí)現(xiàn)實(shí)現(xiàn)QML側(cè)邊導(dǎo)航欄的最簡方法。原始導(dǎo)航欄如下圖:

屬性列表

允許用戶在不同的視圖或子任務(wù)之間切換。標(biāo)簽欄提供了一個(gè)基于標(biāo)簽的導(dǎo)航模型。TabBar由TabButton控件填充,可以與任何提供currentIndex -屬性的布局或容器控件一起使用,如StackLayout或SwipeView。

屬性類型描述
contentHeightreal此屬性保存內(nèi)容高度。它用于計(jì)算選項(xiàng)卡欄的隱式總高度。
contentWidthreal此屬性保存內(nèi)容寬度。它用于計(jì)算選項(xiàng)卡欄的隱式總寬度。
positionenumeration此屬性保存選項(xiàng)卡欄的位置。
TabBar.HeaderTabBar.Footer
附加屬性類型描述
indexint這個(gè)附加屬性保存TabBar中每個(gè)選項(xiàng)卡按鈕的索引。它被附加到TabBar的每個(gè)選項(xiàng)卡按鈕上。
positionenumeration這個(gè)附加屬性保存選項(xiàng)卡欄的位置。它被附加到TabBar的每個(gè)選項(xiàng)卡按鈕上。
TabBar.HeaderTabBar.Footer
tabBarTabBar此附加屬性保存管理此選項(xiàng)卡按鈕的選項(xiàng)卡欄。它被附加到TabBar的每個(gè)選項(xiàng)卡按鈕上。

示例代碼

    TabBar {
        id: bar
        width: parent.width
        TabButton {
            text: qsTr("Home")
        }
        TabButton {
            text: qsTr("Discover")
        }
        TabButton {
            text: qsTr("Activity")
        }
    }

    StackLayout {
        width: parent.width
        currentIndex: bar.currentIndex
        Item {
            id: homeTab
        }
        Item {
            id: discoverTab
        }
        Item {
            id: activityTab
        }
    }

在TabBar中添加三個(gè)TabButton,點(diǎn)擊TabButton可以實(shí)現(xiàn)對(duì)StackLayout中相應(yīng)的Item的切換。

側(cè)邊導(dǎo)航欄

從position屬性中可以看出,TabBar只能直接設(shè)置為頂部和底部,無法直接應(yīng)用成側(cè)邊導(dǎo)航欄。此時(shí),需要將 TabBar和TabButton的大小和位置進(jìn)行調(diào)整,即可實(shí)現(xiàn)側(cè)邊導(dǎo)航欄。

修改代碼

TabBar寬度影響自身和內(nèi)部包含的TabButton的寬度。橫向排列時(shí),TabBar的寬度等于三個(gè)TabButton的寬度;縱向排列時(shí),TabBar的寬度等于一個(gè)TabButton的寬度。

其次需要改變TabButton的寬度,高度以及排列的位置。橫向排列時(shí),TabButton的寬度大于高度;縱向排列時(shí),為了美觀,使TabButton的寬度小于高度。將所有TabButton都設(shè)置為首位相連,即第一個(gè)TabButton的bottom底部就是第二個(gè)TabButton的頂部。

    TabBar {
        id: bar
        width: firstBtn.width
        TabButton {
            id: firstBtn
            text: qsTr("Home")
            width: root.width/8
            height: root.height/3
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.top: parent.top
        }
        TabButton {
            id: secondBtn
            text: qsTr("Discover")
            width: root.width/8
            height: root.height/3
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.top: firstBtn.bottom
        }
        TabButton {
            id: thirdBtn
            text: qsTr("Activity")
            width: root.width/8
            height: root.height/3
            anchors.horizontalCenter: parent.horizontalCenter
            anchors.top: secondBtn.bottom
        }
    }

總結(jié)

以上就是實(shí)現(xiàn)實(shí)現(xiàn)QML側(cè)邊導(dǎo)航欄的最簡方法,除此之外還可以自定義繪制導(dǎo)航欄控件,不過比起本節(jié)介紹的方法較為復(fù)雜,不如這種方法來得快捷。更多相關(guān)QT QML側(cè)邊導(dǎo)航欄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VScode配置C++運(yùn)行環(huán)境的完整步驟

    VScode配置C++運(yùn)行環(huán)境的完整步驟

    這篇文章主要給大家介紹了關(guān)于VScode配置C++運(yùn)行環(huán)境的完整步驟,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C++實(shí)現(xiàn)T型插補(bǔ)詳解

    C++實(shí)現(xiàn)T型插補(bǔ)詳解

    這篇文章主要介紹了C++實(shí)現(xiàn)T型插補(bǔ),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • C語言深入探究sizeof與整型數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)類型取值范圍

    C語言深入探究sizeof與整型數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)類型取值范圍

    在main函數(shù)中,sizeof是可以正常工作的,但是在自定義函數(shù)中就不可以了。所以本文將為大家詳細(xì)講解一下關(guān)鍵字sizeof、整型數(shù)據(jù)存儲(chǔ)深入、數(shù)據(jù)類型取值范圍深入
    2022-07-07
  • C語言快速冪取模算法小結(jié)

    C語言快速冪取模算法小結(jié)

    這篇文章主要介紹了C語言快速冪取模算法,包括了算法的分析與改進(jìn),是很多程序設(shè)計(jì)競賽中常見的算法,需要的朋友可以參考下
    2014-09-09
  • C++使用ifstream讀取文件內(nèi)容的示例詳解

    C++使用ifstream讀取文件內(nèi)容的示例詳解

    這篇文章主要為大家詳細(xì)介紹了C++如何使用ifstream讀取文件內(nèi)容的功能,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-03-03
  • C++實(shí)現(xiàn)將輸入復(fù)制到輸出的方法

    C++實(shí)現(xiàn)將輸入復(fù)制到輸出的方法

    這篇文章主要介紹了C++實(shí)現(xiàn)將輸入復(fù)制到輸出的方法,實(shí)例分析了C++字符串轉(zhuǎn)換及輸入輸出操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C++?引用和指針的區(qū)別對(duì)比分析

    C++?引用和指針的區(qū)別對(duì)比分析

    在C++?中,指針(Pointer)和引用(Reference)都用于間接訪問變量,但是它們?cè)谡Z法和語義上都有顯著的差異,下面通過本文給大家介紹C++?引用和指針的區(qū)別,感興趣的朋友一起看看吧
    2025-10-10
  • C++實(shí)現(xiàn)LeetCode(207.課程清單)

    C++實(shí)現(xiàn)LeetCode(207.課程清單)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(207.課程清單),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言實(shí)現(xiàn)一個(gè)多線程委托模型的示例詳解

    C語言實(shí)現(xiàn)一個(gè)多線程委托模型的示例詳解

    這篇文章主要介紹了C語言實(shí)現(xiàn)一個(gè)多線程委托模型,這就是一個(gè)使用C語言實(shí)現(xiàn)多線程委托模型的例子,其中包含boss線程和worker線程,可以處理工作線程的異常情況,需要的朋友可以參考下
    2023-06-06
  • C++?std::array實(shí)現(xiàn)編譯器排序

    C++?std::array實(shí)現(xiàn)編譯器排序

    這篇文章主要介紹了C++?std::array實(shí)現(xiàn)編譯器排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論

繁昌县| 龙州县| 闸北区| 旺苍县| 香格里拉县| 松江区| 文成县| 沧源| 桃园县| 乌兰察布市| 夹江县| 林西县| 柞水县| 梧州市| 鄱阳县| 玉环县| 祁连县| 安塞县| 韶关市| 浏阳市| 定西市| 阿坝县| 塘沽区| 广饶县| 丰都县| 黄浦区| 铜鼓县| 镇康县| 石景山区| 马山县| 中江县| 炉霍县| 甘谷县| 阜康市| 南和县| 武安市| 漾濞| 巴中市| 会同县| 崇义县| 白河县|