一,、信號和槽 信號和槽機(jī)制是QT編程的基礎(chǔ),,它們和普通的C++函數(shù)幾乎是一樣的,可以是虛函數(shù),,可以被重載,,可以是保護(hù)、私有或共有的,。 信號和槽通過connect()語句連接在一個,,形式如下: connect(sender,SIGNAL(signal),receiver,SLOT(slot)); 這里sender和receiver是指向QObject的指針,signal和slot是函數(shù)名,。每當(dāng)發(fā)射信號時,,就會自動的調(diào)用所連接的槽。 一個信號可以連接多個槽,,這樣當(dāng)信號發(fā)射時就會以不定順序的一個一個執(zhí)行槽,。 多個信號也可以連接一個槽,這樣任何一個信號發(fā)射時槽都會被執(zhí)行,。 可以通過disconnect ( const QObject * sender, const char * signal, const QObject * receiver, const char *method ) 斷開信號與槽間的聯(lián)系,。 信號通過emit發(fā)射,。 信號與槽連接成功必須要求他們的參數(shù)具有相同的順序和相同的類型。但有個例外就是當(dāng)信號的參數(shù)比槽參數(shù)多是,,多余的參數(shù)將會被簡單的忽略,。
二、QT的元對象系統(tǒng) QT的元對象系統(tǒng)建立在下面3個的基礎(chǔ)上
元對象系統(tǒng)是這樣工作的:
所有的工作都由qmake,moc,QObject自動處理,。 |
|