Item {
Rectangle {
width: 800;
height: 640;
Column {
Button {
id: btn;
text: "testStyle1"; // 会被样式label中的text覆盖
style: ButtonStyle {
background: Rectangle {
color: control.hovered?"#a0a0a0":"#c0c0c0";
border.width: control.pressed?2:1;
border.color: "white";
}
label: Label {
text: control.text; // 设置label样式后,按钮显示以此text为准
color: "black";
font.pixelSize: 24;
font.bold: true;
}
}
}
Button {
id: btn1;
text: "testStyle2"
style: btnStyle;
}
Button {
// id: btn1;
text: "testStyle3"
style: btnStyle;
}
}
}
Component {
id: btnStyle;
ButtonStyle {
background: Rectangle {
color: control.hovered?"#a0a0a0":"#c0c0c0";
border.width: control.pressed?2:1;
border.color: "white";
}
label: Label {
text: control.text; // 设置label样式后,按钮显示以此text为准
color: "black";
font.pixelSize: 24;
font.bold: true;
}
}
}
}
Qml实用技巧:将样式style从对象中独立出来,可使多个按钮加载同一个样式
原创
©著作权归作者所有:来自51CTO博客作者长沙红胖子Qt的原创作品,请联系作者获取转载授权,否则将追究法律责任
需求
效果
多个按钮使用同一个样式
原理
写成组件形式(在或不在当前文件中),需要样式时,Button加载style即可
代码
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JAVA 两个类同时实现同一个接口
JAVA 两个类同时实现同一个接口
System 默认方法 静态方法 -
同一个 TextView 设置多个样式多个点击事件
";//第一个...
ide 点击事件 下划线 -
js给多个具有相同class的元素绑定同一个事件或者样式
js给多个具有相同class的元素绑定同一个事件或者样式
css html css样式 js操作多class事件或样式 绑定 -
mysql 历史记录设计
三台主机 192.168.191.106(代号106) 产生日志 192.168.191.107(代号107) 实现存放日志的数据库 192.168.191.173(代号173)
mysql 历史记录设计 php 运维 数据库 mysql