如何在多行中排列TabView的选项卡



来源: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" }
    }
}

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

像这样:
表1
表2
表3

而不是:
表1表2表3

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

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" }
        }
    }
}

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

如果你将tabPosition设置为"West",它会在小部件的左侧垂直排列选项卡,但文本也会横向排列,不知道这是否是你的问题,在我的情况下不是。我会发布截图,但我的代表性太低了。

相关内容

  • 没有找到相关文章