如何将 TabView 的选项卡排列成多行?

Posted

技术标签:

【中文标题】如何将 TabView 的选项卡排列成多行?【英文标题】:How to arrange tabs of TabView in multiple rows? 【发布时间】:2015-03-18 08:44:31 【问题描述】:

发件人:http://doc.qt.io/qt-5/qml-qtquick-controls-tabview.html#details

TabView 

    Tab 
        title: "Red"
        Rectangle  color: "red" 
    
    Tab 
        title: "Blue"
        Rectangle  color: "blue" 
    
    Tab 
        title: "Green"
        Rectangle  color: "green" 
    

这些选项卡默认显示在水平条中。如何在单独的行中显示它们?

像这样: Tab1 Tab2 Tab3

而不是: Tab1 Tab2 Tab3

【问题讨论】:

【参考方案1】:

您需要隐藏标准标签栏,并创建自己的垂直栏。

Row 
    Column 
        Repeater 
            model: view.count
            Rectangle 
                width: 100
                height: 40
                border.width: 1
                Text 
                    anchors.centerIn: parent
                    text: view.getTab(index).title
                
                MouseArea 
                    anchors.fill: parent
                    cursorShape: Qt.PointingHandCursor
                    onClicked: view.currentIndex = index
                
            
        
    
    TabView 
        id: view
        style: TabViewStyle 
            tab: Item 
        

        Tab 
            title: "Red"
            Rectangle  color: "red" 
        
        Tab 
            title: "Blue"
            Rectangle  color: "blue" 
        
        Tab 
            title: "Green"
            Rectangle  color: "green" 
        
    

【讨论】:

【参考方案2】:

我不是 100% 确定你想在这里实现什么,但不久前我有一个类似的要求,并且在设计器中很容易解决。在 QTabWidget 的属性部分,第一个选项应该是 tabPosition。

如果您将 tabPosition 设置为“West”,它将在您的小部件左侧垂直排列选项卡,但文本也会横向排列,不知道这对您来说是否有问题,它不是我的情况。我会发截图,但我的声望太低了。

【讨论】:

以上是关于如何将 TabView 的选项卡排列成多行?的主要内容,如果未能解决你的问题,请参考以下文章

TabView:左侧有一些选项卡,右侧有一些选项卡(中间有空格)

如何使用 SwiftUI TabView 更多选项卡来阻止它与我选择的选项卡变量混淆

UWP TabView 以编程方式更改选项卡

如何在tabview中的更改选项卡中实现转换?

如何在 p:tabView 组件中动态添加和删除选项卡

如何从 JavaScript 函数导航到 <p:tabView> 的特定选项卡