Qt Qml垂直选项卡栏

Qt Qml垂直选项卡栏,qt,qml,vertical-alignment,tabbar,Qt,Qml,Vertical Alignment,Tabbar,我想以类似Qt Creater在应用程序中所做的方式将垂直选项卡栏添加到我的应用程序中(如图所示)。 我一直在寻找如何简单地使TabBar垂直,但没有找到正确的答案(认为垂直是很常见的) 问题:我如何制作一个垂直选项卡来浏览我拥有的不同qml文件?如果有更合适的选择,请建议 选项卡栏仅使用一个通用的列表视图来显示一组选项卡按钮。您可以通过覆盖contentItem属性并使ListView垂直来自定义它,如下所示: // VertTabBar.qml TabBar { id: contro

我想以类似Qt Creater在应用程序中所做的方式将垂直选项卡栏添加到我的应用程序中(如图所示)。 我一直在寻找如何简单地使TabBar垂直,但没有找到正确的答案(认为垂直是很常见的)

问题:我如何制作一个垂直选项卡来浏览我拥有的不同qml文件?如果有更合适的选择,请建议


选项卡栏仅使用一个通用的
列表视图来显示一组
选项卡按钮。您可以通过覆盖
contentItem
属性并使ListView垂直来自定义它,如下所示:

// VertTabBar.qml
TabBar {
    id: control

    contentItem: ListView {
        model: control.contentModel
        currentIndex: control.currentIndex

        spacing: control.spacing
        orientation: ListView.Vertical   // <<-- VERTICAL
        boundsBehavior: Flickable.StopAtBounds
        flickableDirection: Flickable.AutoFlickIfNeeded
        snapMode: ListView.SnapToItem

        highlightMoveDuration: 0
        highlightRangeMode: ListView.ApplyRange
        preferredHighlightBegin: 40
        preferredHighlightEnd: height - 40
    }
}
//verttabar.qml
塔巴{
id:控制
contentItem:ListView{
模型:control.contentModel
currentIndex:control.currentIndex
间距:control.spacing

方向:ListView.Vertical//我想知道,这是常用的方法还是有更好的通用解决方案,例如使用具有不同实现的TabBar、TabTool或Drawer或…?如果您有不同的解决方案,请随意使用它们。没有“正确的方法”但Qt Quick控件的设计很容易定制,这对我来说非常简单和直接。我正在实现的选项卡栏将固定在所有qml窗口的左侧。因此,我只在contentItem中使用垂直方向并添加了选项卡按钮(也在其外部尝试过)。但按钮仍然位于窗口左上角。我正在尝试修复此行为。我已经测试了代码,它可以正常工作。当您创建选项卡栏时,是否指定了高度?我的错,添加高度后效果很好,谢谢。现在我将根据需要对其进行更多自定义,以适合其他按钮窗口,而不显示在其顶部。