在QML中使用TabViewStyle中的leftCorner / rightCorner

时间:2013-07-18 09:35:28

标签: qt qml

我正在使用Qt 5.1 - QML桌面组件。对于TabView,我希望我的标签对齐,但标签栏应该在右上角的按钮后开始。我能够使用以下方式对齐标签:

 tabsAlignment: Qt.AlignRight

但是,我无法在右上角放置按钮。试过这个,但没有用。:

 padding.right: 60

我在TabViewStyle中看到,我们将rightCorner设置为null。我试图把它放入矩形或我自己的custiom按钮,但它没有出现:

rightCorner:
        Rectangle{
        width: 60
        height: 60
        color: "red"
    }

请帮助使用rightCorner或解决此问题。谢谢!

2 个答案:

答案 0 :(得分:1)

在阅读了QtQuick控件的源代码后,角落似乎需要implicitWidth以及implicitHeight。它不适用于仅包含widthheight的组件。

TabView {
    anchors.fill: parent
    style: TabViewStyle {
        rightCorner: Rectangle {
                color: "red"
                implicitWidth: 20
                implicitHeight: 20
        }
    }
    Tab { title: "Tabby" }
    Tab { title: "Tabby" }
    Tab { title: "Tabby" }
}

答案 1 :(得分:0)

我遇到了同样的问题。我注意到的是,并非所有组件都有效。 Text {}或Item {}组件工作正常,但正如您所提到的,无法直接添加Rectangle {}组件,您必须将其包装在Item中,如下所示:

rightCorner: Item{
    Rectangle{
        width: 60
        height: 60
        color: "red"
    }
}