QML_Switch控件_3选2的控制算法
1、说明:
见面中三个Switch控件,要求只能选中其中两个
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {
visible: true
width: 400
height: 400
title: qsTr("Hello World")
property int num: 0
Row {
spacing: 10
Switch {
id: switch1
onCheckedChanged: {
console.log(num)
if(switch1.checked == true) num++;
if(switch1.checked == false) num--;
if(num > 2)
{
switch1.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch2
onCheckedChanged: {
console.log(num)
if(switch2.checked == false) num--;
if(switch2.checked == true) num++;
if(num > 2)
{
switch2.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch3
onCheckedChanged: {
console.log(num)
if(switch3.checked == false) num--;
if(switch3.checked == true) num++;
if(num > 2)
{
switch3.checked = false
return
}
console.log(num)
}
}
}
}
2、下面是4选3
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {
visible: true
width: 400
height: 400
title: qsTr("Hello World")
property int num: 0
Row {
spacing: 10
Switch {
id: switch1
onCheckedChanged: {
console.log(num)
if(switch1.checked == true) num++;
if(switch1.checked == false) num--;
if(num > 3)
{
switch1.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch2
onCheckedChanged: {
console.log(num)
if(switch2.checked == false) num--;
if(switch2.checked == true) num++;
if(num > 3)
{
switch2.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch3
onCheckedChanged: {
console.log(num)
if(switch3.checked == false) num--;
if(switch3.checked == true) num++;
if(num > 3)
{
switch3.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch4
onCheckedChanged: {
console.log(num)
if(switch4.checked == false) num--;
if(switch4.checked == true) num++;
if(num > 3)
{
switch4.checked = false
return
}
console.log(num)
}
}
}
}
3、下面是4选2
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {
visible: true
width: 400
height: 400
title: qsTr("Hello World")
property int num: 0
Row {
spacing: 10
Switch {
id: switch1
onCheckedChanged: {
console.log(num)
if(switch1.checked == true) num++;
if(switch1.checked == false) num--;
if(num > 2)
{
switch1.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch2
onCheckedChanged: {
console.log(num)
if(switch2.checked == false) num--;
if(switch2.checked == true) num++;
if(num > 2)
{
switch2.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch3
onCheckedChanged: {
console.log(num)
if(switch3.checked == false) num--;
if(switch3.checked == true) num++;
if(num > 2)
{
switch3.checked = false
return
}
console.log(num)
}
}
Switch {
id: switch4
onCheckedChanged: {
console.log(num)
if(switch4.checked == false) num--;
if(switch4.checked == true) num++;
if(num > 2)
{
switch4.checked = false
return
}
console.log(num)
}
}
}
}