翻譯|使用教程|編輯:鮑佳佳|2020-08-19 10:56:26.027|閱讀 349 次
概述:幾乎所有的UI工具包都具有一種機(jī)制來檢測用戶操作并對此操作做出響應(yīng)。其中一些使用callbacks,其他一些使用 use listeners,但是從根本上講,所有這些都受到觀察者模式的啟發(fā)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Qt(發(fā)音為“ cute”,而不是“ cu-tee”)是一個跨平臺框架,通常用作圖形工具包,它不僅創(chuàng)建CLI應(yīng)用程序中也非常有用。而且它也可以在三種主要的臺式機(jī)操作系統(tǒng)以及移動操作系統(tǒng)(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設(shè)備,Android(Necessitas)和iOS的端口上運(yùn)行。更多Qt產(chǎn)品詳情點(diǎn)擊這里>>
觀察者模式
幾乎所有的UI工具包都具有一種機(jī)制來檢測用戶操作并對此操作做出響應(yīng)。其中一些使用callbacks,其他一些使用 use listeners,但是從根本上講,所有這些都受到觀察者模式的啟發(fā)。
當(dāng)可觀察對象想要將狀態(tài)更改通知其他觀察者對象時,將使用觀察者模式。以下是一些具體示例:
信號和插槽
觀察者模式在GUI應(yīng)用程序中無處不在。Qt的創(chuàng)建是為了刪除此樣板代碼并提供一種簡潔的語法,而信號和時隙機(jī)制就是答案。
Qt沒有提供可供觀察的對象和觀察者,而是提供了兩個高級概念:signal和slot。
以下是我們著名的QPushButton類的一些信號和插槽示例。
當(dāng)用戶單擊(按下然后釋放),按下或釋放按鈕時,將發(fā)送這些信號。
這是來自不同類別的一些廣告位
為了響應(yīng)信號,必須將插槽連接到信號。Qt提供了QObject :: connect方法。這種方式與兩個宏SIGNAL和SLOT一起使用
FooObjectA *fooA = new FooObjectA(); FooObjectB *fooB = new FooObjectB(); QObject::connect(fooA, SIGNAL (bared()), fooB, SLOT (baz()));
假設(shè)FooObjectA具有裸露信號,而FooObjectB具有baz插槽。您必須在兩個宏SIGNAL和SLOT中寫入信號的認(rèn)證和插槽。
備注 :基本上,信號和插槽是方法,可無論有沒有參數(shù),都從不返回任何東西。盡管信號作為一種方法的概念是不尋常的,但是時隙實(shí)際上是一種真實(shí)的方法,在其他方法中或在響應(yīng)信號時可以像往常一樣調(diào)用它。
在接下的文章中我們將講述如何通過信號和時隙傳輸信息。更多Qt開發(fā)工具點(diǎn)擊這里>>
QtitanRibbon、QtitanChart、QtitanNavigation、QtitanDocking、QtitanDataGrid在線訂購現(xiàn)直降1000元,歡迎咨詢慧都獲取更多優(yōu)惠>>本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: