2013-01-06 38 views
0

當我宣佈的,我的課信號它是實現Qt信號的一種方式嗎?

signal: void someSignal(); 

也沒有辦法,someSignal會實現?如果我嘗試寫類似

void someClass::someSignal() 
{//something here 
}  

我收到鏈接錯誤。所以它被實現在某個地方,就我所知它是由moc編譯器完成的。那麼對我來說,寫信號的實現有什麼方法嗎?

+0

這沒有任何意義。你想達到什麼目的? – Mat

回答

0

的信號提供原型在你的功能類。 當您將信號連接到插槽時,emit someSignal()的呼叫將呼叫連接到該插槽的插槽。 所以沒有必要定義你的信號應該做什麼,導致連接的插槽會做到這一點。

soo long zai

0

不,你不需要那樣做,你只需要申報你信號並使用

emit someSignal(pram1,pram2); 
4

QT文檔發出,它說:

信號自動由商務部和產生不得被 在.cpp文件

實現因此,我沒有辦法實現信號。事實上,你只需要呼叫信號。 如果你想使用的信號共同作用,只是聲明和實現新的功能:)

0

OK,但是請記住槽必須具有相同的參數作爲信號,而不是返回(無效),即:

發射someSignal(INT pram1,INT pram2)------信號

空隙someSignal(INT pram1,INT pram2)------槽

問候

相關問題