Qt QObject::connect: Cannot queue arguments of type ‘***’

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt QObject::connect: Cannot queue arguments of type ‘***’相关的知识,希望对你有一定的参考价值。

Qt QObject::connect: Cannot queue arguments of type ‘***’

文章目录


关键字: arguments QObjectregistered qRegisterMetaTypeQt

内容背景:

最近项目终于切到Linux下开发了,所以最近的记录都是发生在Debian 10 以及Arm Debain 10 下,Qt版本5.12.3。这几天真是问题多多,收获满满,不过目前阶段仅仅停留在解决问题,至于原理性的东西,还得慢慢消化。最近好多问题都是直接群里问大神,感谢各位大神助我成长。

摘要

额,这个问题在win的没有太注意有没有这个问题,但是切刀Linux下,看到,那就解决了他。

1 问题描述

在我这里实际报错内容如下

QObject::connect: Cannot queue arguments of type ‘QSerialPort::SerialPortError’

(Make sure ‘QSerialPort::SerialPortError’ is registered using qRegisterMetaType().)

2 解决方法

这个其实就一句话,那就是在函数调用前注册了就可以,代码如下

qRegisterMetaType<QSerialPort::SerialPortError>("Turing_Serial_DataAnalysis"); 

以上是关于Qt QObject::connect: Cannot queue arguments of type ‘***’的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的代码中查明触发 QObject::connect 的调用的位置:无法在 Qt5 中对类型的参数进行排队?

Qt error ------ no matching function for call to QObject::connect(QSpinBox*&, <unresolved ove

QObject::connect: 没有这样的信号

如果在调用 QObject::connect() 之前发出信号,如何避免竞争?

将 lambda 函数作为第三个参数传递给 QObject::connect 时出错

Qt:创建一个 QDoubleSlider