Qt - 錯誤總結 - QObject::connect: Cannot queue arguments of type 'PVCI_CAN_OBJ' (Make sure 'PVCI_CAN_OBJ' is registered using qRegisterMetaType().)


背景:一個線程通過signal-slot發送PVCI_CAN_OBJ類型的值到主線程中,

錯誤提示:

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

(Make sure 'PVCI_CAN_OBJ' is registered using qRegisterMetaType().)

原因:在線程中通過signal-slot傳遞信息時,參數默認放到隊列中的,但PVCI_CAN_OBJ是自定義的參數,不是Qt自帶的參數結構。

解決方法:

將不識別的參數結構進行注冊,讓Qt能夠識別。

 包含頭文件

#include <QMetaType>

在構造函數中調用其方法完成注冊:
qRegisterMetaType<PVCI_CAN_OBJ>("PVCI_CAN_OBJ");//注冊PVCI_CAN_OBJ類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM