【发布时间】:2022-10-20 19:52:59
【问题描述】:
我一直在关注一个较旧的教程来了解 QtQuick。为了获得正确的行为,我不得不修改教程。到目前为止,大部分都在工作,但是当实际按下自定义按钮时,我一直坚持设置颜色。所以目前,我已经成功设置了默认颜色和悬停颜色。但是,当我按下按钮时,会显示继承的颜色。
在查看文档时,设置 flat:true 可以防止重绘背景,除非单击。单击时如何防止重绘发生?或者也许有更好的方法?
这是我的最小工作示例:
import QtQuick 2.15
import QtQuick.Controls 2.15
Button {
id: btnToggle
property color btnColorDefault: "#0000ff"
property color btnColorMouseOver: "#00ff00"
property color btnColorClicked: "#ff0000"
implicitWidth: 70
implicitHeight: 60
flat: true
background: Rectangle {
id: bgBtn
color: btnToggle.down ? btnColorClicked :
( btnToggle.hovered ? btnColorMouseOver : btnColorDefault)
}
}
【问题讨论】:
标签: qt-quick qt6 qtquickcontrols