摘要:同時Qt對不同平臺(Unix,Windows,andMac)的專門API進(jìn)行了封裝,如文件處理、網(wǎng)絡(luò)(操作,協(xié)議),進(jìn)程處理、線程、數(shù)據(jù)庫訪問等。統(tǒng)一的跨平臺API讓程序員們集中精力致力于可增值的技術(shù)革新,而無須擔(dān)心維護(hù)和管理現(xiàn)有應(yīng)用程序多版本的基礎(chǔ)結(jié)構(gòu)與界面。Qt已由成千上成商業(yè)與開放源應(yīng)用程序開發(fā)員,在多個操作系統(tǒng)與編譯器上進(jìn)行了
(1)信號
當(dāng)某個信號其客戶或所有者發(fā)生內(nèi)部狀態(tài)改變時,信號被一個對象發(fā)射。只有定義過這個信號的類及其派生類能夠發(fā)射這個信號。當(dāng)一個信號被發(fā)射時,與其相關(guān)聯(lián)的槽將被立刻執(zhí)行,就象一個正常的函數(shù)調(diào)用一樣。信號-槽機(jī)制完全獨(dú)立于 任何GUI 事件循環(huán)。只有當(dāng)所有的槽返回以后發(fā)射函數(shù)(emit)才返回。 如果存在多個槽與某個信號相關(guān)聯(lián),那么,當(dāng)這個信號被發(fā)射時,這些槽將會一個接一個地 執(zhí)行,但是它們執(zhí)行的順序?qū)请S機(jī)的、不確定的,我們不能人為地指定哪個先執(zhí)行、哪個后執(zhí)行。信號的聲明是在頭文件中進(jìn)行的,Qt 的signals 關(guān)鍵字指出進(jìn)入了信號聲明區(qū),隨后即可 聲明自己的信號。
(2)槽
槽是普通的C++成員函數(shù),可以被正常調(diào)用,它們特殊性就是很多信號可以與其相關(guān)聯(lián)。當(dāng)與其關(guān)聯(lián)的信號被發(fā)射時,這個槽就會被調(diào)用。槽可以有參數(shù),但槽的參數(shù)不能有缺省值。既然槽是普通的成員函數(shù),因此與其它的函數(shù)一樣,它們也有存取權(quán)限。槽的存取權(quán)限決定了誰能夠與其相關(guān)聯(lián)。同普通的C++成員函數(shù)一樣,槽函數(shù)也分為三種類型,即public slots、private slots 和protected slots。
三、服務(wù)器端
在本應(yīng)用中,電力線通訊終端平臺連接家用電器作為服務(wù)器端,在實(shí)時顯示用電器狀態(tài)的同時,需要構(gòu)建一個TCP 服務(wù)器來為遠(yuǎn)程終端提供服務(wù),實(shí)現(xiàn)遠(yuǎn)程控制和報警的功能。在基于QF 操作系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧中,由QL4 接口類來實(shí)現(xiàn)對L4 協(xié)議(傳輸層)的解析和處理抽象。本應(yīng)用中需要派生一個QTcp 類,實(shí)現(xiàn)傳輸層的TCP 協(xié)議。
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題