在Qt编程中,可以通过signal传递标准数据类型,比如int,double等,也可以传递Qt定义的类型,如QString。如何传递自定义的数据类型?
1. 定义自定义的数据类型:
#include <QMetaType>
typedef struct
{
int a;
int b;
int c;
}STRUCT1;
2. 注册新类型
在使用该类型的类的构造函数中添加:
qRegisterMetaType<STRUCT1>("STRUCT1");
3. 定义信号和槽
signals:
void signal1(TEST test);
slots:
void slot1(TEST test);