在qt开发软件时,使用信号与槽机制,信号中带了自定义的枚举类型参数,在emit发出信号时,出现以下错误

QObject::connect: Cannot queue arguments of type 'XXX'

二、解决方法

在main.cpp中添加头文件:

#include <QMetaType>

然后使用qRegisterMetaType注册自定义类型到元对象系统中,主要作用为QObject的属性系统(信号槽)中使用该自定义类型。

qRegisterMetaType<MyType>("MyType");

qRegisterMetaType使用的情况

qRegisterMetaType 必须使用的两种情况

  • 如果非QMetaType内置类型要在 Qt 的属性系统中使用
  • 如果非QMetaType内置类型要在 queued 信号与槽 中使用

相关文章:

  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-27
  • 2021-12-15
  • 2021-07-18
  • 2021-04-30
相关资源
相似解决方案