Qt clicked()、clicked(bool)、toggled(bool)信号的区别和联系

news2024/12/24 8:49:32

clicked() 信号

所属控件:clicked()信号是QAbstractButton类(及其子类,如QPushButtonQRadioButtonQCheckBox等)的一个信号。clicked信号可以说是许多控件(特别是按钮类控件,如QPushButton)用于通知外部当它们被点击时的一个常用信号。

触发时机当按钮被点击并释放时触发。

连接信号槽方式:

  • connect连接:当用户点击了这样的控件时,clicked信号会被发射(emit),然后任何连接到这个信号的槽(slot)函数都会被调用,允许你响应这个点击事件。
//例如:QPushButton控件pushButton触发clicked事件后,槽函数onButtonClicked会响应这个点击事件。
connect(pushButton, &QPushButton::clicked, this, &MyWidget::onButtonClicked);
  • Qt设计师“跳转槽”机制连接:在对应控件“右键”->“跳转槽”->“clicked()信号”:生成该控件的clicked()信号的槽函数。 
//槽函数名称组成:on_控件名称_信号名称。
void MainWindow::on_pushButton_clicked()
{
    //动作
}

:无参数。

用途用于响应按钮的点击事件,执行与点击相关的操作,而不考虑按钮的当前状态(如是否选中)。此信号一般用于QPushButton,而不适用于QRadioButton(单选框)QCheckBox(复选框),后者一般通过是否被选中状态执行对应的动作,无参数的信号体现不出状态改变。

 

clicked(bool)信号

所属控件:clicked()信号是QAbstractButton类(及其子类,如QPushButtonQRadioButtonQCheckBox等)的一个信号。

触发时机:当按钮被点击并释放时触发。

连接信号槽方式:

  • connect连接:当用户点击了这样的控件时,clicked(bool)信号会被发射(emit),然后任何连接到这个信号的槽(slot)函数都会被调用,允许你响应这个点击事件。
connect(radioButton, &QRadioButton::clicked(bool), this, &MyWidget::onRadioButtonClicked(bool));
  • Qt设计师“跳转槽”机制连接:在对应控件“右键”->“跳转槽”->“clicked(bool)信号”:生成该控件的clicked(bool)信号的槽函数。 
//槽函数名称组成:on_控件名称_信号名称。
void MainWindow::on_radioButton_clicked(bool checked)
{
    if(checked){
        //选中状态的动作
    }
    else{
        //非选中状态的动作
    }
}

bool类型:是否被选中

用途:用于响应按钮的点击事件,执行与点击相关的操作考虑按钮的当前状态(如是否选中)。此信号一般用QRadioButton(单选框)QCheckBox(复选框),通过是否被选中状态执行对应的动作。

toggled(bool) 信号

toggled(bool)信号与clicked(bool)信号既有相同之处也有不同之处。

clicked(bool)信号和toggled(bool)信号比较

相同:
  • 都是用于响应按钮的点击事件,执行与点击相关的操作考虑按钮的当前状态(如是否选中)。此信号一般用QRadioButton(单选框)QCheckBox(复选框),通过是否被选中状态执行对应的动作。
  • 参数相同,bool类型:是否被选中
  • 所属控件相同,触发时机相同,信号槽的连接均有connect和“跳转槽”两种方式
区别:信号触发的方式不同

toggled(bool)

1)通过用户点击,进行交互时触发信号;

2)通过代码改变控件状态触发信号。如: 

ui->checkBox->setChecked(false); --> ui->checkBox->setChecked(true);
ui->checkBox->setChecked(true); --> ui->checkBox->setChecked(false);

clicked(bool): 只能通过用户,进行交互时触发信号。

注意:

若想通过代码触发toggled(bool)信号,控件状态必须改变。(非选中-->选中 / 选中-->非选中)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2151617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0920)

十三、文章分类页面 - [element-plus 表格] Git仓库:https://gitee.com/msyycn/vue3-hei-ma.git 基本架子 - PageContainer 功能需求说明: 基本架子-PageContainer封装文章分类渲染 & loading处理文章分类添加编辑[element-plus弹层]文章分类删除…

Vue3DevTools7是如何在vscode定位指定文件位置的?

Vue3DevTools7是如何在vscode定位指定文件位置的? 背景 今天在使用vue脚手架创建项目的时候,并发现一个新的(实验中的新功能),可以直接在我们的项目中集成Vue DevTools插件,浏览器插件devtools即将成为历史…

第十三周:机器学习笔记

第十三周周报 摘要Abstract一、机器学习——Transformer(上)1. Sequence to Sequence(Seq 2 Seq,序列到序列模型) 的应用2. Transformer的结构2.1 Transformer encoder(Transformer 编码器) 二、Pytorch学习1. 网络模型…

python爬虫初体验(一)

文章目录 1. 什么是爬虫?2. 为什么选择 Python?3. 爬虫小案例3.1 安装python3.2 安装依赖3.3 requests请求设置3.4 完整代码 4. 总结 1. 什么是爬虫? 爬虫(Web Scraping)是一种从网站自动提取数据的技术。简单来说&am…

BandiView 7.03 看图软件

BandiView 加入了大量现代化功能特性,比如支持 HDR 照片高动态范围效果、支持 HEIC / RAW / 漫画模式、免解压直接看图、查看 AI 图片提示词等 BandiView 是一款非常值得推荐的电脑全能看图浏览工具软件,软件的兼容性非常强,可以一站式满足用…

java通过org.eclipse.milo实现OPCUA客户端进行连接和订阅

前言 之前写过一篇关于MQTT的方式进行物理访问的文章:SpringBoot集成MQTT,WebSocket返回前端信息_springboot mqtt websocket-CSDN博客 最近又接触到OPCUA协议,想通过java试试看能不能实现。 软件 在使用java实现之前,想着有没…

欠款管理代码———未来之窗行业应用跨平台架构

一、欠款管理代码 function fun_会员_还款操作(会员卡信息id,MainID){var 未来之窗vos对话框_内容 ";var title"test";var 未来之窗vos对话框_id"hjksgfjkkhkj_child";CyberWin_Dialog.layer(未来之窗vos对话框_内容,{type:"url",title:&…

windows下,用docker部署xinference,为什么老是提示localhost无法访问?

部署xinference有两种方式: 一、本地部署 (略) 二、使用Docker部署(与运行) 其中又包括: 1)使用CPU的方式:(略) 1)使用GPU的方式&#xff1…

LeetCode_sql_day30(1264.页面推荐)

描述 1264.页面推荐 朋友关系列表: Friendship ------------------------ | Column Name | Type | ------------------------ | user1_id | int | | user2_id | int | ------------------------ (user1_id, user2_id) 是这张表具有唯一值的…

低代码可视化工具--vue条件判断v-if可视化设置-代码生成器

在Vue UniApp中,条件判断通常是通过指令v-if、v-else-if、v-else来实现的。这些机制允许你根据表达式的真假值来决定是否渲染某个元素或元素组,或者执行特定的逻辑。 条件判断说明 v-if 是惰性的:如果在初始渲染时条件为假,则什么…

mac os x 找不到钥匙串访问

昨天手贱更新了最新的mac系统,结果在实用工具中找不到钥匙串访问APP了。。。 最新mac系统为 15.0 (24A335) 真是醉了。。。 那就得想办法把他给呼出来,在开发者中心下载了一个.cer文件,然后双击打开,此时钥匙串打开了&#xff…

猿大师办公助手在线编辑Office为什么要在客户端电脑安装插件微软Office或金山WPS?

猿大师办公助手作为一款专业级的网页编辑Office方案,与在线云文档方案(飞书、腾讯文档等)不同,需要在客户端电脑安装猿大师办公助手插件及微软Office或者金山WPS软件,很多客户不理解为什么要这么麻烦,能否客…

从虚拟到现实:数字孪生与数字样机的进化之路

数字化技术高速发展的当下,计算机辅助技术已成为产品设计研发中不可或缺的一环,数字样机(Digital Prototype, DP)与数字孪生技术便是产品研发数字化的典型方法。本文将主要介绍数字样机与数字孪生在国内外的发展,并针对…

机器翻译之创建Seq2Seq的编码器、解码器

1.创建编码器、解码器的基类 1.1创建编码器的基类 from torch import nn#构建编码器的基类 class Encoder(nn.Module): #继承父类nn.Moduledef __init__(self, **kwargs): #**kwargs:不定常的关键字参数super().__init__(**kwargs)def forward(self, X, *args…

[产品管理-29]:NPDP新产品开发 - 27 - 战略 - 分层战略与示例

目录 1. 公司战略 2. 经营战略 3. 创新战略 4. 新产品组合战略 5. 新产品开发战略 战略分层是企业规划和管理的重要组成部分,它涉及不同层级的战略制定和实施。以下是根据您的要求,对公司战略、经营战略、创新战略、新产品组合战略、新产品开发战略…

闯关leetcode——66. Plus One

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/plus-one/description/ 内容 You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from mo…

2016年国赛高教杯数学建模B题小区开放对道路通行的影响解题全过程文档及程序

2016年国赛高教杯数学建模 B题 小区开放对道路通行的影响 2016年2月21日,国务院发布《关于进一步加强城市规划建设管理工作的若干意见》,其中第十六条关于推广街区制,原则上不再建设封闭住宅小区,已建成的住宅小区和单位大院要逐…

TinkerTool System for Mac实用软件系统维护工具

TinkerTool System 是一款功能全面且强大的 Mac 实用软件,具有以下特点和功能: 软件下载地址 维护功能: 磁盘清理:能够快速扫描并清理系统中的垃圾文件、临时文件以及其他无用文件,释放宝贵的磁盘空间,保…

c++优先级队列自定义排序实现方式

1、使用常规方法实现 使用结构体实现自定义排序函数 2、使用lambda表达式实现 使用lambda表达式实现自定义排序函数 3、具体实现如下&#xff1a; #include <iostream> #include <queue> #include <vector>using namespace std; using Pair pair<in…