[Qt基础内容-04] QCheckBox

QCheckBox

本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QCheckBox的功能以及使用

简介#

QCheckBox是一个按钮,其典型的应用场景就是表示一种特性,应用可以选择启用和不启用。同样的QCheckBox也可以设置互斥(Exclusive)这个属性,具体请参看前篇[Qt 基础-03] QRadioButton

  1. 可以和QButtonGroup联用,将不同属性的按钮区分起来,就像官方帮助文档里描述的那样。

    在这里插入图片描述

  2. 可以像QPushButton一样,通过设置text来设置对应的快捷键

    QCheckBox *check = new QCheckBox("&Feature");
    

    这样,就设置了一个快捷键"Alt + F",代替鼠标按钮来用快捷键进行选中。

  3. 三态属性

    QCheckBox有一个属性:
    tristate : bool
    此属性用于标识QCheckBox是否是一个三态复选框。使用isTristate来判断是三态复选框、使用setTristate来设置三态属性。
    这个属性一个经典的应用场景是用在一个表格的表头,用于全选功能,当全部选中时,为选中状态;没有全部选中,就显示部分选中状态;没有选中时,就显示未选中状态。效果如下图:
    在这里插入图片描述

信号#

关于QCheckBox的信号和槽,除了之前说过的按钮的基本信号,如鼠标点击(clicked)等,其比较常用的是stateChanged这个信号

  1. stateChanged

    该信号的原型为:

    void stateChanged(int state);
    

    此为CheckState中的内容
    在这里插入图片描述

    连接这个信号,根据按钮的状态执行相应的操作。

    QCheckBox *checkBox = new QCheckBox(this);
    connect(checkBox, &QCheckBox::stateChanged, [] (int state) {
        qDebug() << state;
    });
    

样式设计#

QCheckBox的样式设计和之前写的QRadioButton差不多,请移步[Qt 基础-03] QRadioButton
然后还有一个关于设置QCheckBox上的勾选框的样式,请参看这篇Qt QCheckBox设置复选框的大小

作者:师从名剑山

出处:https://www.cnblogs.com/codegb/p/16653439.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   师从名剑山  阅读(793)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示