QML 导航控件进阶:TabBar与TabButton的纵向布局与动态交互

1. 突破横向限制:TabBar纵向布局实战

很多开发者第一次接触QML的TabBar时,都会遇到一个共同的困惑:为什么这个导航控件默认只能横向排列?在实际项目中,特别是桌面端应用和仪表盘界面,侧边栏导航的需求非常普遍。我去年开发一个工业控制软件时就遇到过这个痛点,经过反复实验终于找到了完美的解决方案。

要让TabBar纵向排列,关键在于理解布局容器的嵌套逻辑。这里分享一个我验证过的可靠方案:

import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15

ApplicationWindow {
    width: 800
    height: 600
    visible: true

    RowLayout {
        anchors.fill: parent
        spacing: 0

        // 纵向TabBar
        TabBar {
            id: sideBar
            Layout.fillHeight: true
            Layout.preferredWidth: 120
            orientation: Qt.Vertical  // 关键属性
            
            Repeater {
                model: ["仪表盘", "设备管理", "报警记录", "系统设置"]
                TabButton {
                    width: parent.width
                    height: 60
                    text: modelData
                    font.pixelSize: 14
                }
            }
        }

        // 内容区域
        StackLayout {
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值