加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
IconTextBtn.qml 1.85 KB
一键复制 编辑 原始数据 按行查看 历史
hudejie 提交于 2022-09-27 18:36 . 初始化项目
import QtQuick 2.6
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
Button {
property alias icon: icon.source
property color iconColor: "#54626f"
property color iconHighlightColor: "#dcdcdc"
property color iconHoveredBgColor: "#1d2025"
property color iconPressedBgColor: "#1d2025"
property color iconBgColor: "transparent"
property alias strText: title.text
property bool bHighlighted: false
id: control
background: Rectangle
{
color: control.hovered ? (control.pressed ? iconHoveredBgColor : iconPressedBgColor) : (bHighlighted ? iconHoveredBgColor : iconBgColor);
border.width: control.hovered || bHighlighted ? 4 : 0;
border.color: "#029fea"
// 使用矩形覆盖上层Rectangle的边框
Rectangle {
color: parent.color
border.width: 0
anchors.fill: parent
// 使用Margin来确定是否显示边框
anchors.leftMargin: 4
anchors.topMargin: 0
anchors.rightMargin: 0
anchors.bottomMargin: 0
}
}
contentItem: Item {
IconFont {
id: icon
width: 16
height: 16
anchors.centerIn: parent
anchors.verticalCenterOffset: -10
color: control.hovered || bHighlighted ? iconHighlightColor : iconColor
}
Text {
id: title
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
anchors.bottomMargin: 5
color: control.hovered || bHighlighted ? iconHighlightColor : iconColor
font.pixelSize: 12
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化