在QT的SIGNAL中使用自定义数据类型

轉載自: http://yleesun.blog.163.com/blog/static/29413402201172413739390/

在QT的signal slot中的使用自定义的数据类型,如结构体,类等数据类型,需要先将该数据类型进行注册,否则会出现错误,信号槽无法进行正确连接。

如下以自定义数据类型MediaDbAttirbute为例,如果事先未进行对该类型进注册,则提示以下错误:
  1. QObject::connect: Cannot queue arguments of type 'MediaDbAttirbute'  
  2. (Make sure 'MediaDbAttirbute' is registered using qRegisterMetaType().) 
解决方法是:
        qRegisterMetaType<MediaDbAttirbute>("MediaDbAttirbute");