Qt笔记-qml-radionButton

来源:互联网 发布:淘宝店铺会员管理系统 编辑:程序博客网 时间:2024/06/08 16:04
  • qml自定义RadioButton (暂时只做了双态)
 import QtQuick 2.0import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.4Item {    id: item    property string text: ""    property bool   checked: true    // 单选框框风格组件    Component{        id: radioStyle;        RadioButtonStyle{            indicator: Rectangle{                implicitHeight: radioButtonImage.height;                implicitWidth: radioButtonImage.width;                color: "#00000000"                Rectangle{                    id: myCheck                    anchors.fill: parent;                    state:                    {                        if ( control.checked )                            state: "radioCheck";                        else                            state:"radioNoCheck";                    }                    color: "#00000000"                    property string imageSource: ""                    property string imageChecked: "qrc:/image/RadioButtonChecked.png"                    property string imageNoChecked: "qrc:/image/RadioButtonNoChecked.png"                    Image {                        id: radioButtonImage                        source: myCheck.imageSource                    }                    states: [                        State {                            name: "radioCheck"                            PropertyChanges {                                target: myCheck                                imageSource:imageChecked;                            }                        }                        ,State {                            name: "radioNoCheck"                            PropertyChanges {                                target: myCheck                                imageSource:imageNoChecked;                            }                        }                    ]                }            }            label:Text{                //color: control.activeFocus?"blue":"black";                color: "#444444"                font.pointSize: 14                text:control.text;            }        }    }    //具体单选框    RadioButton{        text:     item.text;        checked:  item.checked;        focus: true;        activeFocusOnPress:  true;        style:radioStyle;    }}

使用:

CRadionButton{    anchors.top: rect.bottom;    anchors.topMargin: 4;    anchors.left: rect.left;    anchors.leftMargin: 10;    text: "是否可用"    checked: false}
原创粉丝点击