zoukankan      html  css  js  c++  java
  • Qt解决:Qobject::connect queue arguments of type ‘xxxx’,Make sure ‘xxxx’ is registered using qRegister

    解决方法:在调用connect之前,通过 qRegisterMetaType() 注册你connect函数里对象的类型代码如下:


    typedef QString CustomString;//你自己定义的类型
    qRegisterMetaType<CustomString>(“CustomString”);//注册你自己的类型
    connect(…)//之后connect就不再出现该提示错误


    扩展:
    Qt meta-object system包含对象间相互通信(信号和槽),运行类型信息和动态属性系统。自定义类型class的对象想要用到这些系统里的功能,例如信号和槽的connect,就必须先在meta-system里注册自定义类型。QMetaType类管理了meta-object system里命名的类型,帮助管理QVariant,以及信号和槽的连接。注册的方式有两种:
    1.Q_DECLARE_METATYPE() 利用其声明新类型,使新类型可以在QVariant和其他的模板基类函数可用;
    2.qRegisterMetaType()调用其函数可使得新类型在非模板基类函数可用,队列式的信号和槽的连接。

  • 相关阅读:
    sge的简单的应用
    dcoker 小应用(二)
    浅谈Docker(二)
    查看Linux版本
    dcoker 小应用(一)
    linux 强制重启!
    浅谈Docker(一)
    ubuntu command
    简析hotjar录屏功能实现原理
    实现node端渲染图表的简单方案
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/10302506.html
Copyright © 2011-2022 走看看