qml按钮样式设计,把样式写成组件

跟風遠走 提交于 2019-11-27 12:23:44

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33200959/article/details/74932165


通过Button的style属性可以设置按钮的样式如下:

style: ButtonStyle {
            //进行对Button的样式设置
            background: Rectangle {
 
                //设置圆角
                radius: 5;
                color: "red"
                border.width: control.pressed ? 2:1
            }
        }
但是如果多个按钮同时用到,上面的方式显得烦琐,此时我们可以使用Component在QML文档内定义一个组件
 
 
设置其id为btnStyle然后在按钮设置样式时直接使用
 
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
 
Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
 
    //组件
    Component {
        id: btnStyle
        ButtonStyle {
            background: Rectangle {
                implicitWidth: 70
                implicitHeight: 25
                color: "black"
                border.width: control.pressed ? 8:4
                border.color: (control.hovered || control.pressed) ? "red" : "green"
            }
        }
    }
 
    Button {
        id: up
        width: 400
        height: 100
        anchors.top: parent.top
        anchors.topMargin: 50
        anchors.left: parent.left
        anchors.leftMargin: 120
        style: btnStyle
    }
 
    Button {
        id: mid
        width: 400
        height: 100
        anchors.left: up.left
        anchors.top: up.bottom
        anchors.topMargin: 40
        style: btnStyle
    }
 
    Button {
        id: down
        width: 400
        height: 100
        anchors.left: up.left
        anchors.top: mid.bottom
        anchors.topMargin: 40
        style: btnStyle
    }
}
 

 

 
————————————————
版权声明:本文为CSDN博主「山海成精」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33200959/article/details/74932165

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!