原文:QT信号槽传递自定义结构体

QT的信号槽可以传递int, short, double等c语言的常用类型的变量,也可以传递如QImage之类的QT支持 的类型。但是如何传递一个程序员自定义的结构体 在定义结构体之后,要调用Q DECLARE METATYPE,向QT声明这个结构体 在main.cpp 中,用connect函数 将抛出此结构体的信号和接收此结构体的槽函数关联之前,要调用qRegisterMetaType 注册此 ...

2021-01-26 16:05 0 745 推荐指数:

查看详情

Qt--信号传递自定义结构参数

自定义结构参数的信号连接 (1) 对于自定义结构参数,信号无法识别参数,导致信号连接不起作用。所以需要注册结构参数。在结构中声明结束的地方加上结构注册。 struct DealDetailInfo { }; Q_DECLARE_METATYPE ...

Thu Nov 29 01:26:00 CST 2018 0 3268
Qt 信号收发自定义类/自定义结构的2种方法

想要发射信号时,携带自定义的class或者struct,必须要做一下处理,否则编译时不会报错,但运行时会出错。 假设我们自定义了一个结构: 如果想要这么用: 那么必须使用以下两种方法之一。 方法1:使用宏:Q_DECLARE_METATYPE 该方法的原理 ...

Thu Jan 06 17:34:00 CST 2022 0 1466
QT自定义信号

最近项目中使用到QT,在此记录一下QT的核心,信号: QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt ...

Thu Oct 31 06:13:00 CST 2019 0 1251
Qt自定义信号函数

自定义信号函数:   1.类的声明和实现分别放在.h和.cpp文件中;   2.类声明包含Q_OBJECT宏;   3.信号只要声明不要设计其的实现函数   4.发射信号用emit关键字   5.自定义的实现与普通成员函数的实现一样。 ...

Sun Oct 09 22:13:00 CST 2016 0 1983
Qt 多线程信号——自定义参数传递

需求:想要使用信号传递double数组 定义信号: 编译&运行: 原因:   自定义的数据类型作为信号参数传递的时候,需要使用 qRegisterMetaType() 函数对该参数进行注册 解决: 1、添加头文件 #include < ...

Thu Oct 17 00:24:00 CST 2019 0 659
Qt 线程间信号传递自定义数据类型(qRegisterMetaType的使用)

不跨线程的话,使用自定义的类型使用signal/slot来传递,没有什么问题。 但如果是跨线程的使用,则没有这么简单。 直接使用的话,会产生下面这种错误:(假定自定义类为MyClass)QObject::connect: Cannot queue arguments of type ...

Thu Jan 06 17:35:00 CST 2022 0 2093
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM