qt解决循环创建的控件,每个都绑定相同的槽函数时出现的一对多响应问题

应用场景

若需要在程序运行期间根据控件数动态创建控件,且创建的每一个控件在某一个信号发生时会触发相同的槽函数。

问题描述

上述所导致的问题是在触发其中一个控件的时候,其它的控件也会响应该槽函数,出现了一对多的绑定。

示例

class MultiWindow
{
public:MultiWindow(int id);void createPlayWindow(int id);QGraphicsRectItem *item;CustomWidget      *widget;ProxyWidget       *proxy;
};for(int i = 0; i < WIN_NUM; ++i){m_multiWin = new MultiWindow(i);m_listWindow.push_back(m_multiWin);connect(this,&chunzhongForm::signalUrlName,m_multiWin->widget,&CustomWidget::slot_urlNameValue);connect(this,&chunzhongForm::signalCloseWidgetThread,m_multiWin->widget,&CustomWidget::slot_closeWidgetThread);}

上述代码只简单的展示了一部分,当该类chunzhongForm的信号触发时,若信号中没有指明具体的窗口,则所有的CustomWidget类的槽函数都会响应。究其原因是信号发射时没有指定具体哪一个窗口来接收信号。

解决方法

在发射信号时,传入要接收的窗口的id,然后只让此id的窗口响应该信号。

void signalUrlName(int id,stuInterDisNeed &urlName);//信号void CustomWidget::slot_urlNameValue(int id,stuInterDisNeed &urlName)//槽函数
{if(id == m_id){.......}
}//在其类的构造函数中传入窗口的id,其中m_id是该窗口的id

以上描述仅用于解决同类问题的参考。

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

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

相关文章

用栈和队列分别实现求解迷宫问题(c++,c)

求解迷宫问题&#xff1a;给定一个迷宫要求输出其路径。 给出的迷宫如下&#xff08;可自行更改&#xff09; 可用两种方法实现1.栈2.队列 用栈只能找到路但路不是最简的最简的要用队列实现 用栈实现&#xff08;解析都在代码里了&#xff09; c&#xff08;实现&#xff0…

高达100亿美元!美国国防部将IBM和甲骨文双双踢出了云计算合同;华为任正非说了,华为对向苹果等对手出售5G芯片保持开放的态度...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 微软全数位版本Xbox One S&a…

OpenGL 灰度图

目录 一.OpenGL 灰度图 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 灰度图 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 &…

将Github中Fork的代码,克隆到本地

将Github中Fork的代码&#xff0c;克隆到本地 1. 在Github打开Fork的工程2. 单击clone or download按钮&#xff0c;复制Github克隆链接3.进入本地需要存储应用源程序的路径 将源代码clone到本地 1. 在Github打开Fork的工程 登录Github&#xff0c;点击Fork的项目即可&#xf…

Windows OpenGL ES 图像灰度图

目录 一.OpenGL ES 图像灰度图 1.原始图片2.效果演示 二.OpenGL ES 图像灰度图源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 Open…

VMware竟然出了一款防火墙

戳蓝字“CSDN云计算”关注我们哦&#xff01;极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;防火墙&#xff0c;这个在安全界“恐龙时代”就存在的产品&#xff0c;相信但凡…

qt项目中的某一个类的输出中文信息乱码,其它类中文输出正常

问题描述 qtcreate5.13.2中整个项目中通过添加头文件&#xff0c;使用qDebug()输出中文打印信息&#xff0c;输出中文都是正常的&#xff0c;但是有一个类的输出中文是乱码。 解决方法 修改该类的编码格式。由于项目默认采用的是utf-8编码&#xff0c;但此类的编码采用的是G…

Navicat创建数据库表 、导入sql文件,生成表结构

Navicat创建数据库表 、导入sql文件&#xff0c;生成表结构 1.打开Navicat2.远程连接mysql连接3.创建数据库4.导入sql文件5.生成表结构 1.打开Navicat 2.远程连接mysql连接 3.创建数据库 4.导入sql文件 导入源代码中的sql文件 5.生成表结构

将本地源代码程序推送远程Github仓库

将本地源代码程序推送远程Github仓库 1.查看改动文件的状态2.将修改的代码从工作区添加至暂存区3.将暂存区的代码添加至本地仓库4.将本地仓库中的代码Push到Github5.登录Github&#xff0c;查看是否推送代码成功 1.查看改动文件的状态 git status2.将修改的代码从工作区添加至…

OpenStack网络的下一步原来这么走 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;最新版本的OpenStack Stein很快就要发布了&#xff0c;社区将在4月10日一起庆祝。对于…

qt5.13.2输出中文乱码

qt5使用qDebug()输出中文乱码&#xff0c;可以在.pro文件中添加以下的代码&#xff1a; #解决中文编译没法通过&#xff0c;输出中文乱码 msvc {QMAKE_CFLAGS /utf-8QMAKE_CXXFLAGS /utf-8 }

Windows OpenGL 图像灰度图

目录 一.OpenGL 图像灰度图 1.原始图片2.效果演示 二.OpenGL 图像灰度图源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES …

Spring精华问答 | 什么是Spring inner beans?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们来看看关于Spring的精华问答吧。1Q&#xff1a;请解释Spring Bean的生命周期&#xff1f;A&#xff1a;Spring Bean的生命周期简单易懂。在一个bean实例被…

gb-heima/order 项目 处理

gb-heima/order 项目 处理 1. 用Intellij Idea打开克隆好的项目2. 代码源程序简要说明3. 使用Maven构建该项目 1. 用Intellij Idea打开克隆好的项目 2. 代码源程序简要说明简要说明代码源程序 3. 使用Maven构建该项目 在Intellij Idea中使用Maven构建该项目Maven 构建项目

qt使用自带的日志输出实例输出日志时,在日志中显示行数

当使用qInstallMessageHandler&#xff08;&#xff09;安装回调函数&#xff0c;通过回调函数来输出日志时&#xff0c;日志文件中没有行数和文件信息。可以在.pro文件中添加以下代码&#xff1a; #release中在日志添加行数&#xff0c;文件信息 DEFINES QT_MESSAGELOGCONTE…

Windows OpenGL ES 图像单色

目录 一.OpenGL ES 图像单色 1.原始图片2.效果演示 二.OpenGL ES 图像单色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL E…

要闻君说:特斯拉重磅推出影响力报告;三星官宣完成5纳米EUV工艺研发还承诺提供样品;国内首条5G智能制造生产线正式“上马”...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 连续三天跌停的视觉中国股票…

运行Jenkins部署任务

一、运行Jenkins部署任务 1. 执行Jenkins部署任务2. 打开浏览器访问部署应用程序3. 确定发布结果的正确性4. 确认执行结果成功 1. 执行Jenkins部署任务 查看控制台输出 异常信息如下&#xff1a; Started by user admin Running as SYSTEM Building remotely on TestEnv in w…

Windows OpenGL 图像单色

目录 一.OpenGL 图像单色 1.原始图片2.效果演示 二.OpenGL 图像单色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…

QMap删除其中的保存的元素本身,并删除容器中保存的元素

前言 qmap删除元素可以采用erase(),但使用过程中却必须注意以下&#xff1a; qmap中的元素被删除后&#xff0c;其迭代器自动指向下一个元素&#xff1b; 示例 要求删除创建时保存在QMap中的指针&#xff0c;并将qmap中的元素删除。下面直接上代码。 QMap<int,QPushButt…