您的位置:首页 > 编程语言 > Qt开发

Qt笔记-qml-radionButton

2017-10-19 14:37 387 查看
qml自定义RadioButton (暂时只做了双态)

import QtQuick 2.0

import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4

Item {
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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt radio button qml