1. 程式人生 > >qt connect 失效

qt connect 失效

connect中連線的函式,是可以傳遞引數的,其實就相當於後面前面函式裡面寫了後面函式的直接呼叫,但是傳遞指標沒問題,要是直接傳遞自己編寫的型別就會有問題,有兩種方法

(1)將不識別的引數結構進行註冊,讓QT能夠識別。

A 包含標頭檔案:#include <QMetaType>

B 在構造的類的建構函式中呼叫其方法完成註冊:qRegisterMetaType< QHash<int , pMsg> >("QHash<int , pMsg>");

 

(2)直接呼叫對方槽函式,不儲存引數,直接傳遞。

connect(pLink->module,SIGNAL(sendReportToMainWithHash(QHash<int,pMsg>,QString)),this,SLOT(receiveReportFromIecServiceWithHash(QHash<int,pMsg>,QString)), Qt::DirectConnection);

 

 

第二種簡單暴力,官方認為這樣做有風險,不推薦