信號和槽之間參數傳遞是有要求的,以下幾種情況,信號和槽能夠正常連接
1、信號和槽參數類型、數量完全一致
2、信號的參數表比槽的參數表數量多,但是,從信號的參數表第一個參數開始,能夠與槽的參數表完全對應,信號中多出的參數,將被槽忽略。
另外:
(1)一般的,指針不能作爲參數傳遞;
(2)模板類對象不能作爲參數傳遞;
但是:
有變通的方法,使用qRegistMetaType函數,將模板類註冊爲元類型,則可以傳遞:
代碼:
#include<QMetaType>
qRegistMetaType<QList<void*>>("QList<void*>)
則可以使用QList<void*>類型作爲參數在從信號向槽傳遞數據。