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

Qt QCheckBox 使用

1.开发背景

        Qt QCheckBox 是勾选组件,具体使用方法可以参考 Qt 官方文档,这里只是记录使用过程中常用的方法示例和遇到的一些问题。

2.开发需求

        QCheckBox 使用和踩坑

3.开发环境

        Window10 + Qt5.12.2 + QtCreator4.8.2

4.功能简介

4.1 简单接口

        QCheckBox 继承了 QAbstractButton、QWidget、QObject 和 QPaintDevice,父对象的接口都能用,另外独有接口 setCheckState 、checkState 等

4.2 信号接口

        除了继承的信号,主要还是使用信号 stateChanged 

5.踩坑现场

5.1 信号 stateChanged  中使用  setChecked 不会立刻刷新状态

    connect(ui->checkBox_RxSaveFile, &QCheckBox::stateChanged, this, [this](int state){if (state == Qt::Unchecked){m_p->isRxSaveFile = false;m_p->rxSavePath.clear();}else if (state == Qt::Checked){/* 获取当前时间并格式化为字符串(如 "2024-01-01_12-00-00")*/m_p->isRxSaveFile = true;QString timestamp = QDateTime::currentDateTime().toString("yyyy-MM-dd_HH-mm-ss");QString defaultFileName = "./" + timestamp + ".txt";QString fileName = QFileDialog::getSaveFileName(this, "保存文件",defaultFileName, "文本文件 (*.txt);;所有文件 (*)");if (fileName.isEmpty()){m_p->isRxSaveFile = false;ui->checkBox_RxSaveFile->setChecked(false);ui->checkBox_RxSaveFile->setCheckState(Qt::Unchecked);  // 需要单独设置状态}else{m_p->rxSavePath = fileName;}}});

        需要使用 setCheckState 设置当前的状态,不然第二次点击不会触发信号

5.2 待续~

http://www.xdnf.cn/news/5455.html

相关文章:

  • 【Java ee初阶】网络编程 TCP
  • 深度学习篇---姿态检测实现
  • 软考错题集
  • Java 23种设计模式 - 行为型模式11种
  • PostgreSQL 的 pg_collation_actual_version 函数
  • 【深度学习-Day 8】让数据说话:Python 可视化双雄 Matplotlib 与 Seaborn 教程
  • Kimball
  • Python 基础语法与数据类型(七) - 函数的定义与调用 (def, return)
  • Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
  • Looper死循环阻塞为什么没有ANR
  • 【大模型面试每日一题】Day 14:大模型训练中显存占用的主要来源有哪些?如何通过激活重计算降低显存?
  • 关于char字符的16进制打印
  • 408考研逐题详解:2009年第11题
  • PySide6 GUI 学习笔记——常用类及控件使用方法(常用类边距QMargins)
  • 数字信号处理|| 快速傅里叶变换(FFT)
  • 软考(信息系统运行管理员)
  • 猿人学第十七题—天杀的http2.0
  • SSH免密登录
  • Java注解之@PostConstruct
  • ts装饰器
  • IPM IMI111T-026H 高效风扇控制板
  • Python打卡 DAY 21
  • 免费 超轻量级便携 内存清理 验证win系统内存优化
  • DeepSeek:为环保领域插上智慧的翅膀
  • 子串简写(JAVA)一维前缀和, 蓝桥杯
  • 前端性能优化全攻略:从基础体验到首屏加载的深度实践
  • 一文理解扩散模型(生成式AI模型)(1)
  • 【工具记录分享】提取bilibili视频字幕
  • Activity动态切换Fragment
  • 医疗信息化江湖风云再起!金仓数据库亮相CHIMA 2025