当按钮悬停在 Qt6 中时更改 QML 按钮的文本颜色?

问题描述 投票:0回答:2

如何更改按钮悬停时的文本颜色?我不想画矩形。

Button {
                        id:button
                        x: 58
                        y: 246
                        width: 188
                        height: 34
                        onClicked: classA.newGameWindow()

                        text: qsTr("New Game")

                        background: Rectangle {
                            opacity: enabled ? 1 : 0.3
                            color: "transparent"
                        }


                        font.family: "Inria Serif"
                        font.pixelSize: 26

                        Text {
                               id: new_Game
                               color: "white"
                               horizontalAlignment: Text.AlignLeft
                               verticalAlignment: Text.AlignTop
                               wrapMode: Text.Wrap
                               font.weight: Font.Normal
                        }
                 }

我尝试使用 color: button.down 但它在按钮文本周围画了一个矩形

qt button qml hover textcolor
2个回答
0
投票

通过设置按钮的

contentItem

    Button {
        id: button
        text: "Button"

        contentItem: Text {
            text: button.text
            color: button.hovered ? "green" : "red"
        }

    }

0
投票

最佳实践方法是使用调色板。 它更短、更干净、更简单。

Button { 
    text: 'Example text' 
    palette.buttonText: hovered ? 'red' : 'blue' 
}
© www.soinside.com 2019 - 2024. All rights reserved.