QML_Switch控件_3选2的控制算法

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)
            }
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值