繁体   English   中英

来自线程的Qt信号导致错误

[英]Qt signal from thread causes error

我有一个线程,需要从该线程将带有参数的信号发送到指针,如下所示:

connect(insThread, SIGNAL(sgGetCurrentElement(QWebElement&)), this, SIGNAL(sgGetCurrentElement(QWebElement&)));

其中insThread是最重要的。 但是我得到了错误:

QObject::connect: Cannot queue arguments of type ‘QWebElement&’ (Make sure ‘QWebElement&’ is registered using qRegisterMetaType().)

我已经知道我需要使用qRegisterMetaType,但是我不知道如何构造它。 我试过了

qRegisterMetaType<QWebElement&>("myElement");

但失败了。 我该如何解决?

谢谢。

我假设您正在尝试使用引用(&)注册QWebElement,因为已经设计了将QWebElement用作引用的插槽原型,但是如果要将信号从一个线程发布到另一个线程,这不是一个好主意,请参见此处 无论如何,正如Laszlo指出的那样,您必须注册基本类型,而用参考标记(&)注册类型是没有意义的。

我不确定为什么要尝试用&注册它,但要这样做,请按以下步骤操作:

qRegisterMetaType<QWebElement>("myElement");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM