靚麗時尚館

位置:首頁 > 健康生活 > 心理

qt介面說明

心理9.94K
qt介面說明

     訊號和槽機制是QT的核心機制,要精通QT程式設計就必須對訊號和槽有所瞭解。訊號和槽是一種高階介面,應用於物件之間的通訊,它是QT的核心特性,也是QT區別於其它工具包的重要地方。訊號和槽是QT自行定義的一種通訊機制,它獨立於標準的C/C++語言,因此要正確的處理訊號和槽,必須藉助一個稱為moc(Meta ObjectCompiler)的QT工具,該工具是一個C++預處理程式,它為高層次的事件處理自動生成所需要的附加程式碼。

     在我們所熟知的很多GUI工具包中,視窗小部件(widget)都有一個回撥函式用於響應它們能觸發的每個動作,這個回撥函式通常是一個指向某個函式的指標。但是,在QT中訊號和槽取代了這些凌亂的函式指標,使得我們編寫這些通訊程式更為簡潔明瞭。 訊號和槽能攜帶任意數量和任意型別的引數,他們是型別完全安全的,不會像回撥函式那樣產生core dumps。

     所有從QObject或其子類(例如Qwidget)派生的類都能夠包含訊號和槽。當物件改變其狀態時,訊號就由該物件發射(emit)出去,這就是物件所要做的全部事情,它不知道另一端是誰在接收這個訊號。這就是真正的資訊封裝,它確保物件被當作一個真正的軟體元件來使用。槽用於接收訊號,但它們是普通的物件成員函式。一個槽並不知道是否有任何訊號與自己相連線。而且,物件並不瞭解具體的通訊機制。

你可以將很多訊號與單個的槽進行連線,也可以將單個的訊號與很多的槽進行連線,甚至於將一個訊號與另外一個訊號相連線也是可能的,這時無論第一個訊號什麼時候發射系統都將立刻發射第二個訊號。總之,訊號與槽構造了一個強大的部件程式設計機制。

標籤:介面 QT