来自: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
答案 0 :(得分:5)
您需要隐藏标准标签栏,并创建自己的垂直条。
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" }
}
}
}
答案 1 :(得分:0)
我不是百分之百确定你想在这里实现什么,但是我不久前就向我提出了类似的要求,并且在设计师中很容易解决。在QTabWidget的属性部分中,第一个选项应该是tabPosition。
如果您将tabPosition设置为“West”,它会在窗口小部件的左侧垂直排列标签,但文本也会侧身,不知道这是否对您来说是一个问题,它不是我的情况。我会发布截图,但我的代表太低了。