property bool selected
property string pathToCheckedImage: "qrc:/button/checkboxChecked.png"
property string pathToUncheckedImage: "qrc:/button/checkbox.png"
+ property string pathToCheckedDicImage: "qrc:/button/checkboxCheckedDis.png"
+ property string pathToUncheckedDicImage: "qrc:/button/checkboxDis.png"
signal changed
+
+ Keys.onPressed: {
+ if (event.key == Qt.Key_Space)
+ selected=!selected
+ }
+
height: {
var aspectRatio = sourceSize.height / sourceSize.width
return checkbox.width * aspectRatio
smooth: true
states: [
State {
- name: "checked";
- when: (checkbox.selected == true);
+ name: "checkeEn";
+ when: (checkbox.selected && checkbox.enabled);
PropertyChanges { target: checkbox; source: pathToCheckedImage }
},
State {
- name: "unchecked";
- when: (checkbox.selected == false);
+ name: "uncheckeEn";
+ when: ( !checkbox.selected && checkbox.enabled);
PropertyChanges { target: checkbox; source: pathToUncheckedImage }
+ },
+ State {
+ name: "checkeDi";
+ when: (checkbox.selected && !checkbox.enabled);
+
+ PropertyChanges { target: checkbox; source: pathToCheckedDicImage }
+ },
+ State {
+ name: "uncheckeDi";
+ when: ( !checkbox.selected && !checkbox.enabled);
+
+ PropertyChanges { target: checkbox; source: pathToUncheckedDicImage }
}
]
MouseArea{
id: area
anchors.fill: parent
onClicked: {
- checkbox.selected = !checkbox.selected
- changed()
+ if(checkbox.enabled){
+ checkbox.selected = !checkbox.selected
+ changed()
+ }
}
}
+
+ Rectangle{
+ id: focusRectangle
+ color: "#000000"
+ border.color: "#000000"
+ opacity: 0;
+ radius: 1
+ anchors.centerIn: parent
+ z:1;
+ }
+
+ onFocusChanged: {
+ if(focus)
+ focusRectangle.opacity=0.5;
+ else
+ focusRectangle.opacity=0;
+ }
}