【QT】QComboBox:activated信号和currentIndexChanged信号的区别

embedded/2025/1/15 19:51:12/

目录

      • 1、activated
        • 1.1 原型
        • 1.2 触发机制
        • 1.3 使用场景
        • 1.4 连接信号和槽的方法
          • 1.4.1 方式一
          • 1.4.2 方式二
      • 2、currentIndexChanged
        • 2.1 原型
        • 2.2 触发机制
        • 2.3 使用场景
        • 2.4 连接信号和槽的方法


1、activated

1.1 原型
[signal] void QComboBox::activated(int index)
[signal] void QComboBox::activated(const QString& text)
  • index:当前选项索引
  • text:当前选项的文本
1.2 触发机制

  activated信号在用户从下拉列表中选择一个选项时发射,不管QComboBox的当前索引是否发生改变都会发射。(注:在程序里设置当前索引不会触发activated信号,activated信号只会在用户与QComboBox交互操作过程中触发)

1.3 使用场景

  activated信号通常用于在用户选择一个选项时执行某些操作,比如打开一个对话框、更新某个数据模型等。

1.4 连接信号和槽的方法

  因为activated信号在QComboBox类中有重载,使用QT5常规的链接方式(如下所示),因为不能明确指定具体是哪个重载函数,所以编译时会报错。

QObject::connect(&comboBox, &QComboBox::activated, this, &Dialog::slot1);

  对于这种有重载的信号,要正确连接槽,有两种方式:

1.4.1 方式一

  使用QT4的连接方法。如下所示:

QObject::connect(&comboBox, SIGNAL(activated(int)), this, SLOT(slot1(int));QObject::connect(&comboBox, SIGNAL(activated(const QString&)), this, SLOT(slot1(const QString&));
1.4.2 方式二

  使用QT文档推荐的方法,使用函数指针来连接信号与槽。如下所以:

connect(comboBox, QOverload<int>::of(&QComboBox::activated), this, this, &Dialog::slot1);

2、currentIndexChanged

2.1 原型
[signal] void QComboBox::currentIndexChanged(int index)
[signal] void QComboBox::currentIndexChanged(const QString& text)
  • index:当前选项索引
  • text:当前选项的文本
2.2 触发机制

  currentIndexChanged信号在QComboBox类的currentIndex属性发生改变时发射,不论这个改变是由用户操作还是程序设置引起的。(注:如果进行了用户操作或程序设置,但是currentIndex属性值没有变化,该信号依然是不发射的)

2.3 使用场景

  currentIndexChanged信号通常用于在当前索引变化时更新与QComboBox相关的其他界面元素或执行某些操作。

2.4 连接信号和槽的方法

  currentIndexChanged信号在QComboBox类中也是有重载,处理方法与activated信号类似。


http://www.ppmy.cn/embedded/153873.html

相关文章

【Linux】深刻理解软硬链接

一.软硬链接操作 1.软连接 touch 创建一个文件file.txt &#xff0c;对该文件创建对应的软链接改怎么做呢&#xff1f; ln -s file.txt file-soft.link .给对应文件创建软连接。 软连接本质就是一个独立的文件&#xff0c;因为我们对应的软连接有独立的inode&#xff0c;他…

win32汇编环境,对话框程序中单选框的一般操作示例

;运行效果 ;win32汇编环境,对话框程序中单选框的一般操作示例 ;比如默认哪项选中&#xff0c;判断当前选中哪一项&#xff0c;让哪项选中&#xff0c;得到选中项的名称等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;下面为asm文件 ;>>>>>>>>>&g…

iOS 解决两个tableView.嵌套滚动手势冲突

我们有这样一个场景&#xff0c;就是页面上有一个大的tableView&#xff0c; 每一个cell都是和屏幕一样高的&#xff0c;然后cell中还有一个可以 tableView&#xff0c;比如直播间的情形&#xff0c;这个时候如果我们拖动 cell里面的tableView滚动的话&#xff0c;如果滚动到内…

【C++DFS 图论 时间戳】2360. 图中的最长环|1897

本文涉及知识点 C图论 CDFS LeetCode2360. 图中的最长环 给你一个 n 个节点的 有向图 &#xff0c;节点编号为 0 到 n - 1 &#xff0c;其中每个节点 至多 有一条出边。 图用一个大小为 n 下标从 0 开始的数组 edges 表示&#xff0c;节点 i 到节点 edges[i] 之间有一条有向…

【Uniapp-Vue3】@import导入css样式及scss变量用法与static目录

一、import导入css样式 在项目文件中创建一个common文件夹&#xff0c;下面创建一个css文件夹&#xff0c;里面放上style.css文件&#xff0c;编写的是公共样式&#xff0c;我们现在要在App.vue中引入该样式。 在App.vue中引入该样式&#xff0c;这样就会使样式全局生效&#…

Web前端界面开发

前沿&#xff1a;介绍自适应和响应式布局 自适应布局&#xff1a;-----针对页面1个像素的变换而变化 就是我们上一个练习的效果 我们的页面效果&#xff0c;随着我们的屏幕大小而发生适配的效果&#xff08;类似等比例&#xff09; 如&#xff1a;rem适配 和 vw/vh适配 …

React使用Redux

Redux Redux 是一个用于 JavaScript 应用的状态容器,Redux 的核心思想是将应用程序的所有状态存储在一个单一的、全局的 store 中&#xff0c;并提供了一套规则来确保状态以一种可预测的方式进行变更. 安装 npm i reduxjs/toolkit react-redux创建目录 创建store文件夹&…

波场靓号生成工具

1、波场靓号地址生成器_精准快速生成TRC20钱包靓号地址 - 波场靓号 波场靓号是什么? 波场靓号是指由你自己选择的TRC20地址&#xff0c;使其看起来不那么普通。 比如&#xff1a; TMBeViiBxxSGmPiMgbvWBwF4ngSbmr8888 TL1234aiqsJacvpji9QWMBazeEbTCKHpTN THoa8888hHCSNt2eW…