Qt 自定义QML选项卡按钮

Qt 自定义QML选项卡按钮,qt,button,qml,customization,Qt,Button,Qml,Customization,我想在QML中自定义TabButtons,但找不到足够的属性 我可以更改字体颜色,但是 如何更改基础线条样式?您必须自己实现它。 您可以使用Qt用于按钮的相同模板,并根据需要进行更改。 为了找到实现,您可以将其放入Qt文件夹中。 对我来说,它在: C:\Qt\5.11.1\Src\qtquickcontrols2\Src\imports\controls\material 另一个选项是在选项卡栏中放入您想要的任何内容,例如,您可以执行以下操作: TabBar { id: ta

我想在QML中自定义
TabButton
s,但找不到足够的属性

我可以更改字体颜色,但是
如何更改基础线条样式?

您必须自己实现它。 您可以使用Qt用于按钮的相同模板,并根据需要进行更改。 为了找到实现,您可以将其放入Qt文件夹中。 对我来说,它在:

C:\Qt\5.11.1\Src\qtquickcontrols2\Src\imports\controls\material

另一个选项是在选项卡栏中放入您想要的任何内容,例如,您可以执行以下操作:

 TabBar {
        id: tabBarItem

        currentIndex: model.currentIndex 

        contentItem: ListView {
            id: view

            model: model //it Contains the list of items that you want to show
            delegate: delegate // Delegate that could be a button or whatever. You could use the default delegate ItemDelegate
         }

}

您必须自己实施它。 您可以使用Qt用于按钮的相同模板,并根据需要进行更改。 为了找到实现,您可以将其放入Qt文件夹中。 对我来说,它在:

C:\Qt\5.11.1\Src\qtquickcontrols2\Src\imports\controls\material

另一个选项是在选项卡栏中放入您想要的任何内容,例如,您可以执行以下操作:

 TabBar {
        id: tabBarItem

        currentIndex: model.currentIndex 

        contentItem: ListView {
            id: view

            model: model //it Contains the list of items that you want to show
            delegate: delegate // Delegate that could be a button or whatever. You could use the default delegate ItemDelegate
         }

}

我建议构建您自己的项目,这可以让您在设计决策方面拥有更多的控制权

要按照您的意愿构建带有按钮的选项卡,您可以执行以下操作(注意:这里有很大的改进空间,因此继续进行实验,您将学到很多):


TopButton.qml(这是我们构建的按钮项,我们在选项卡菜单中使用它)
选项卡(按行排列按钮)
我建议构建您自己的项目,这将在设计决策方面给予您更多的控制

要按照您的意愿构建带有按钮的选项卡,您可以执行以下操作(注意:这里有很大的改进空间,因此继续进行实验,您将学到很多):


TopButton.qml(这是我们构建的按钮项,我们在选项卡菜单中使用它)
选项卡(按行排列按钮)
您可以将某些项目、
矩形
或任何附加到按钮内容矩形底部的内容。您可以将某些项目、
矩形
或任何附加到按钮内容矩形底部的内容。
Row {
        id: buttonRow
        spacing:2
        anchors.centerIn: parent

        TopButton {
            id: firstButton

            selected: true
            onClicked: {
                secondButton.selected = false
                selected = true
            }
        }

        TopButton {
            id: secondButton

            onClicked: {
                firstButton.selected = false
                selected = true
            }
        }
    }