QT实现信号与槽之间传递QVector<int>类型的数据_小米的修行之路的博客-程序员信息网

技术标签: QT  信号槽传递复杂结构体  

1、做项目时有一个在信号槽之间传递QVector<int>类型数据的需求,信号在界面线程发送,槽函数在工作线程运行,当按照正常流程写完代码后,发现槽没有对信号进行响应,上网搜索了一番,发现正常情况下信号与槽之间只能传递通用数据类型,如:int。像QVector<int>、结构体等类型就不能传递了,需要对复杂数据进行一些包装。

2、具体思路是:将复杂结构的数据包装成通用数据类型(QVariant)放入信号及槽函数中传递,在槽函数中使用时再转化为原来的数据类型。

    (1)在信号所在类中:

        a、包含头文件:

#include <QVector>
#include <QMetaType>
#include <QVariant>
Q_DECLARE_METATYPE(QVector<int>);

       b、声明一个信号:

signals:
	void signal_DelDataFromDatabase(QVariant);

        c、在类的构造函数中注册数据:

qRegisterMetaType<QVariant>("QVariant");

(2)在槽函数所在的类中:

    a、声明头文件:

#include <QVect
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012372584/article/details/88252002

智能推荐

linux系统没有xattr命令,“ reiserfs不能用lsattr等命令 ”的解决(中文)_戴O泡的博客-程序员信息网

“ reiserfs不能用lsattr等命令 ”的解决(中文)发布时间:2008-01-08 01:07:09来源:红联作者:Alsdwdz这是我从网上看到的关于lsattr和chattr在reiserfs上的使用的。是中文的内容,但是没有上一篇的英文内容全。在SUSE Linux上面预设使用reiserfs档案系统对于有些人会使用lsattr及chattr会出现lsattr:不希望的装置输出入控...

Tensorflow实践报错汇总_slim = tf.contrib.slim_Joeych1412的博客-程序员信息网

如果项目代码基于tensorflow1.0,而自己机器上安装的是tensorflow2.0,则会出现兼容问题,可用以下方法解决。报错 AttributeError: module ‘tensorflow‘ has no attribute ‘compat’如果解决版本问题时采用如下方式。..................

github最新最快有效host地址_Jewe_Wang的博客-程序员信息网_github最新hosts

github140.82.112.4 github.com140.82.113.3 gist.github.com185.199.108.153 assets-cdn.github.com199.232.68.133 raw.githubusercontent.com199.232.68.133 gist.githubusercontent.com199.232.68.133 cloud.githubusercontent.com151.101.192.133 camo.githubuserc

在TensorFlow中自定义梯度的两种方法_FesianXu的博客-程序员信息网

前言在深度学习中,有时候我们需要对某些节点的梯度进行一些定制,特别是该节点操作不可导(比如阶梯除法如10//3=310 // 3 = 310//3=3),如果实在需要对这个节点进行操作,而且希望其可以反向传播,那么就需要对其进行自定义反向传播时的梯度。在有些场景,如[2]中介绍到的梯度反转(gradient inverse)中,就必须在某层节点对反向传播的梯度进行反转,也就是需要更改正常的梯度传...

在vue项目中,使用videoPlayer插件,播放hls m3u8格式的视频流_BiuBiu__A的博客-程序员信息网

安装videoPlayeryarn add vue-video-player -S播放hls的话需要安装videojs-contrib-hls 并在组件内引入yarn add videojs-contrib-hls&lt;template&gt; &lt;div&gt; &lt;div class="videoBox"&gt; &lt;videoPlayer class="video-player vjs-custom-skin" ref="

随便推点

安装tensorflow报错---CondaHTTPError: HTTP 000 CONNECTION FAILED for url_禅心001的博客-程序员信息网_安装tensorflow报错condahttperror: http 000 connection

安装tensorflow报CondaHTTPError: HTTP 000 CONNECTION FAILED for url错,有三种方案:1、tensorflow下载源太慢,超出链接时长,解决办法为:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda co...

2022年计算机软件水平考试系统规划与管理师(高级)练习题及答案_笑谈网课的博客-程序员信息网

2022年计算机软件水平考试系统规划与管理师(高级)练习题及答案,根据最新计算机软件水平考试系统规划与管理师(高级)大纲与历年计算机软件水平考试系统规划与管理师(高级)真题汇总编写,包含计算机软件水平考试系统规划与管理师(高级)常考重点题型与知识点,有助于考生复习备考计算机软件水平考试系统规划与管理师(高级),取得好成绩。1、以下关于在IPv6中任意播地址的叙述中,错误的是(C)A.只能指定给IPv6路由器B.可以用作目标地址C.可以用作源地址D.代表一组接口的标识符..

【操作系统概念-作业7】Deadlocks_框架主义者的博客-程序员信息网

title: 【操作系统概念-作业7】Deadlockscategories:课业学习操作系统tags:操作系统学习Operating System Concepts Exercises 7Deadlocks操作系统作业77.1, 7.3, 7.107.17, 7.18, 7.22, 7.25, 7.26Practice Exercises7.1, 7.3, 7.107.1 List three examples of deadlocks that are not .

安装TensorFlow报错及解决方法_Chiang11的博客-程序员信息网_安装tensorflow报错

安装TensorFlow报错及解决方法参考链接: https://www.cnblogs.com/wxyao/p/12677089.html/.前面两步就按照上面链接来第三步的pip install tensorflow时候出现下面报错参考上述链接重新输入pip install tensorflow -ihttp://pypi.douban.com/simple出现以下报错试了好几次,才发现少了个http后面少了个s(被自己蠢哭了)修正为:pip install tensorflow -i

C3P0连接池出现java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.getNStrin_TXNull的博客-程序员信息网

出现问题:Exception in thread &amp;amp;quot;main&amp;amp;quot; java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.getNString(Ljava/lang/String;)Ljava/lang/String; is abstract at com.mchange.v2....

高数-不定积分-三角函数的不定积分_Jtooo的博客-程序员信息网_三角函数的不定积分

三角函数常用等式----------------------------------------------------------------习题-----------题型一:被积函数是单项式三角函数的多次方解法1、将式子中多次方的三角函数通过降次换成形如sin2x、cos2x的一次方式子,以此通过不定积分的基本功式1求出答案。例:解法2、用凑微分的方法,将d前后换成同一类...

推荐文章

热门文章

相关标签