【QT】关于qcheckbox常用的三个信号,{sstateChanged(int) clicked() clicked(bool)}达成巧用

ops/2024/9/23 14:22:58/

在 Qt 中,QCheckBox 是一个提供复选框功能的小部件,允许用户选择和取消选择一个或多个选项。QCheckBox 提供了几种信号来响应用户的交互,其中 stateChanged(int), clicked(), 和 clicked(bool) 是常用的。下面解释这些信号的意义及其用法。

1. stateChanged(int state)

这个信号在复选框的状态改变时发出。状态改变可以是用户交互(如点击复选框改变选中状态),或者是程序通过代码改变复选框状态时触发。

  • 参数

    • int state:表示复选框新的状态。它可以是以下值之一:
      • Qt::Unchecked (0):复选框未被选中。
      • Qt::PartiallyChecked (1):复选框处于部分选中状态(通常用于具有层级结构的复选框中,表示子项目部分被选中)。
      • Qt::Checked (2):复选框被完全选中。
  • 用法示例

    connect(checkBox, &QCheckBox::stateChanged, this, [this](int state) {if (state == Qt::Checked) {qDebug() << "Checkbox is checked.";} else if (state == Qt::Unchecked) {qDebug() << "Checkbox is unchecked.";}
    });
    

2. clicked()

这个信号在复选框被点击时发出,不论状态如何改变。这个信号不带参数,主要用于简单的点击响应,而不关心具体的状态。

  • 用法示例
    connect(checkBox, &QCheckBox::clicked, this, []() {qDebug() << "Checkbox was clicked.";
    });
    

3. clicked(bool checked)

这个信号也是在复选框被点击时发出,但它提供一个布尔参数来指示复选框的新状态。

  • 参数

    • bool checked:如果复选框现在是选中状态,则为 true;如果未选中,则为 false
  • 用法示例

    connect(checkBox, &QCheckBox::clicked, this, [](bool checked) {if (checked) {qDebug() << "Checkbox is now checked.";} else {qDebug() << "Checkbox is now unchecked.";}
    });
    

总结

  • 使用 stateChanged(int) 时,可以精确到复选框的三种状态变化,适用于需要区分未选中、部分选中和完全选中状态的场景。
  • 使用无参数的 clicked() 时,仅需要知道复选框被点击,而不关心其状态如何变化。
  • 使用 clicked(bool) 时,可以直接获得复选框改变后的选中状态(是或否),适用于需要根据复选框的最新状态执行操作的场景。

这些信号为开发者提供了灵活的方式来处理用户与复选框的交互。


http://www.ppmy.cn/ops/11824.html

相关文章

4.20.1 深度神经网络提高放射科医生在乳腺癌筛查中的表现

新颖的两阶段神经网络&#xff0c;用于将全局和局部信息与适当的训练过程结合起来。这使我们能够使用非常高容量的块级网络从像素级标签中学习&#xff0c;同时网络也可以从宏观乳房级标签中学习。模型可以生成可解释的热图&#xff0c;指示可疑发现的位置。即使在拥有大量图像…

挂在Avalon总线上的AD7656芯片驱动verilog程序实现

AD7656是一款16位同步采样双极ADC转换器&#xff0c;本文中用状态机方式实现了AD7656芯片的Verilog驱动&#xff0c;并且将驱动直接挂在了altera芯片的Avalon总线上&#xff0c;使其altera芯片能够通过总线直接控制ADC芯片&#xff0c;其代码如下&#xff1a; module AD7656_d…

给rwkv_pytorch配了个流式服务和请求demo

项目地址 rwkv_pytorch 服务端 import json import uuid import timeimport torch from src.model import RWKV_RNN from src.sampler import sample_logits from src.rwkv_tokenizer import RWKV_TOKENIZER from flask import Flask, request, jsonify, Responseapp Flask…

学习笔记-数据结构-线性表(2024-04-16)

设计一个算法判断单链表中元素是否是递增的。 设计思想&#xff1a;双指针操作 变量说明&#xff1a; head表示链表头指针 p和q表示两个用来遍历链表的指针节点&#xff0c;且q始终在p之后 bool IsIncrease(LinkList *head) {// 代码优先判空&#xff0c;若为空链表&#xff…

linux的一些实用操作

快捷键 强制停止 ctrlc强制停止或退出命令的输入 退出登出 ctrld强制退出用户登录或退出某些程序的专属页面&#xff08;如py&#xff09; ps&#xff1a;不能退出vi/vim 历史命令搜索 history可以查看历史命令&#xff0c;用来复制粘贴 在使用history之后&#xff0c;…

Midjourney 中文文档

快速使用 学习如何在Discord上使用Midjourney Bot从简单的文本提示中创建自定义图像。 行为准则 不要表现出不良行为。不要使用我们的工具制作可能引起煽动&#xff0c;不安或引起争议的图像。这包括血腥和成人内容。尊重其他人和团队。 1&#xff1a;加入Discord 访问Midj…

C#开发UdpClient无法在局域网中发送UDP广播包,但能接收的解决办法

# 记得开发好的软件原来可以使用的&#xff0c;今天突然不正常了&#xff0c;还以为哪里修改过了。 在网上看到了一个网友的文章&#xff1a;https://www.cnblogs.com/kissazi2/archive/2012/12/07/2806533.html 我虽然没有安装虚拟机&#xff0c;没有VMware的虚拟网卡&#…

西瓜书学习——对数几率回归

对数几率回归&#xff08;Logistic Regression&#xff09;是一种广泛应用于分类问题的统计方法&#xff0c;特别是用于二分类问题。尽管它的名字中包含“回归”&#xff0c;但它实际上是一种分类算法&#xff0c;用于估计一个样本属于某个类别的概率。 对数几率回归的核心是使…