当前位置: 首页 > article >正文

qt QCheckBox详解

QCheckBox 是 Qt 框架中的一个控件,用于创建复选框,允许用户进行选择和取消选择。它通常用于表单、设置界面和任何需要用户选择的场景。

QCheckBox继承自QAbstractButton类,因此继承了按钮的特性。它表示一个复选框,用户可以通过点击来切换其选中状态(选中或未选中)。复选框通常用于表示应用程序中可以启用或禁用的功能,同时选择的状态不会影响其他功能。

重要方法

  • QCheckBox(const QString &text, QWidget *parent = nullptr):构造复选框,采用给定parent和text,parent被传递给QAbstractButton构造函数。
  • void setChecked(bool checked):设置复选框的选中状态。如果参数为true,则复选框被选中;如果为false,则复选框被取消选中。
  • bool isChecked() const:返回复选框的选中状态。
  • void setTristate(bool y = true):设置QCheckBox控件的三态模式。三态模式包括选中、未选中和部分选中。参数y是一个bool类型,默认为true,用于指定是否开启三态模式。
  • bool isTristate() const:查询复选框是否为三态模式。
  • Qt::CheckState checkState() const:查询复选框当前状态。该函数返回的是Qt::CheckState类型,Qt::CheckState是一个枚举类型,表示复选框的状态(Unchecked:未选中,PartiallyChecked:部分选中,Checked:选中)。
  • void setCheckState(Qt::CheckState state):设置复选框状态。
  • void setText(const QString &text):设置复选框旁边显示的文本。
  • QString text() const:返回复选框的显示文本。

重要信号

  • stateChanged(int state):当复选框的选中状态改变时,这个信号会被发射。state参数是一个Qt::CheckState枚举值,表示复选框的新状态。
  • toggled(bool checked):这也是一个当复选框的选中状态改变时发射的信号,但它只提供一个布尔值checked,表示复选框是否处于选中状态(true为选中,false为未选中)。
  • clicked(bool checked = false):当用户点击复选框时,这个信号会被发射。clicked信号在每次点击时都会发射,不论复选框的选中状态是否实际改变。
#include <QApplication>  
#include <QWidget>  
#include <QCheckBox>  
#include <QVBoxLayout>  
  
int main(int argc, char *argv[]) {  
    QApplication app(argc, argv);  
    QWidget window;  
    QVBoxLayout *layout = new QVBoxLayout;  
  
    // 创建两个QCheckBox控件  
    QCheckBox *checkBox1 = new QCheckBox("Option 1");  
    QCheckBox *checkBox2 = new QCheckBox("Option 2");  
    checkBox2->setTristate(true); // 启用三态
  
    // 将两个QCheckBox控件添加到QVBoxLayout布局中  
    layout->addWidget(checkBox1);  
    layout->addWidget(checkBox2);  
  
    window.setLayout(layout);  
    window.setWindowTitle("QCheckBox Example");  
    window.show();  
  
    return app.exec();  
}

觉得有帮助的话,打赏一下呗。。

           


http://www.kler.cn/a/374602.html

相关文章:

  • 【Python】动态与静态的较量:深入探讨Python的动态类型机制与类型提示的应用
  • 【C++】string 类模拟实现:深入探索字符串操作原理
  • PySpark任务提交
  • java执行python时脚本引用动态配置文件遇到的问题
  • 新材料产业数据管理:KPaaS平台的创新驱动
  • electron知识整理和问题汇总
  • 数据结构分类
  • 合理利用IPIDEA代理IP,优化数据采集效率!
  • 掌握DFMEA,让潜在设计缺陷无处遁形!
  • 单细胞数据分析(二):harmony算法整合数据
  • 使用 phpOffice\PhpSpreadsheet 做导出功能
  • idea使用Translation插件实现翻译
  • 学习路之TP6--workman安装
  • 简单的kafkaredis学习之redis
  • vue项目中如何在路由变化时增加一个进度条
  • 基于SSM+小程序的宿舍管理系统(宿舍1)
  • 深度学习基础—循环神经网络(RNN)
  • spring中bean的四种创建方式
  • 单向数据流在 React 中的作用
  • docker engine stopped
  • 【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题204,201,215
  • 医疗器械设备语音ic芯片方案-选型大全
  • 基于vue、VantUI、django的程序设计
  • nodejs包管理器pnpm
  • 二十七、Python基础语法(面向对象-上)
  • OLAP与OLTP:数据处理系统的两种核心架构