1. 程式人生 > >有關訊號和槽之間引數傳遞的問題(原創)

有關訊號和槽之間引數傳遞的問題(原創)

訊號和槽之間引數傳遞是有要求的,以下幾種情況,訊號和槽能夠正常連線

1、訊號和槽引數型別、數量完全一致

2、訊號的引數表比槽的引數表數量多,但是,從訊號的引數表第一個引數開始,能夠與槽的引數表完全對應,訊號中多出的引數,將被槽忽略。

另外:

(1)一般的,指標不能作為引數傳遞;

(2)模板類物件不能作為引數傳遞;

但是:

有變通的方法,使用qRegistMetaType函式,將模板類註冊為元型別,則可以傳遞:

程式碼:

#include<QMetaType>

qRegistMetaType<QList<void*>>("QList<void*>)

則可以使用QList<void*>型別作為引數在從訊號向槽傳遞資料。