国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Qt的聲納模擬顯控軟件設(shè)計與實現(xiàn)

2019-06-11 09:53李華慶
電子技術(shù)與軟件工程 2019年7期
關(guān)鍵詞:圖形用戶界面聲納光標

文/李華慶

聲納顯控軟件是聲納系統(tǒng)中的重要組成部分。聲納顯控軟件集聲納信息的顯示和聲納的控制命令為一體,是聲納操作員和聲納設(shè)備之間交互的橋梁和紐帶。隨著科學技術(shù)的不斷發(fā)展和進步,聲納設(shè)備提供的探測信息越來越復(fù)雜而多樣,因此聲納顯控軟件的功能也變得越來復(fù)雜。Qt是一種跨平臺的C++圖形用戶界面,在軟件界面開發(fā)過程中具有優(yōu)良特性,本文介紹一種基于Qt的聲納模擬顯控軟件設(shè)計實現(xiàn)方法。

1 Qt簡介

Qt 是一個1991年由Qt Company開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,比如控制臺工具和服務(wù)器。Qt是面向?qū)ο蟮目蚣埽哂械牧己梅庋b機制使得Qt的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說是非常方便的。Qt 提供了一種稱為“信號/槽”的安全類型來替代 callback,這使得各個元件之間的協(xié)同工作變得十分簡單。

圖1:聲納顯控軟件設(shè)計框架

2 信號與槽

信號和槽機制是 Qt 的核心機制,可以讓編程人員將互不相關(guān)的對象綁定在一起,實現(xiàn)對象之間的通信。

2.1 信號

當對象改變其狀態(tài)時,信號就由該對象發(fā)射 (emit) 出去,而且對象只負責發(fā)送信號,它不知道另一端是誰在接收這個信號。這樣就做到了真正的信息封裝,能確保對象被當作一個真正的軟件組件來使用。

2.2 槽

用于接收信號,而且槽只是普通的對象成員函數(shù)。一個槽并不知道是否有任何信號與自己相連接。而且對象并不了解具體的通信機制。

一個信號可以連接多個槽,當信號發(fā)射時,會以不確定的順序一個接一個的調(diào)用各個槽;一個槽也可以與多個信號信號相連,無論哪個信號被發(fā)射,都會調(diào)用這個槽。

圖2:界面實現(xiàn)流程

圖3:聲納模擬顯控界面

3 聲納顯控軟件組成

聲納顯控軟件設(shè)計框架如圖1所示。其中,聲納顯控軟件包括參數(shù)顯示與命令控制、畫面顯示兩大類。參數(shù)顯示與命令控制包括工作參數(shù)顯示、系統(tǒng)參數(shù)顯示、操作控制三部分,實現(xiàn)聲納顯控軟件當前工作狀態(tài)的顯示以及命令控制;畫面顯示包括掃描圖顯示、幅度圖顯示、歷程圖顯示三部分,顯示聲納顯控軟件接受到的各種畫面信息。

4 具體實現(xiàn)

本文所介紹的聲納顯控界面的程序框架式自頂向下的。界面實現(xiàn)流程圖如圖2所示。首先新建一個Qt項目,在main()函數(shù)中生成一個QApplication類的實例a,然后定義一個Widget類的對象w,最后在Widget.ui中設(shè)計界面,在Widget.cpp中完成代碼實現(xiàn)。

具體實現(xiàn)界面如圖3所示。

界面共有四部分組成,分別是幅度圖、歷程圖、表格、控制菜單。以歷程圖為例進行簡單介紹。

首先在UI文件中對widget進行提升,提升為歷程圖類。歷程圖類的核心實現(xiàn)代碼如下:

在顯控軟件中需要處理光標事件,包括光標進入、光標退出、光標移動和光標點擊(區(qū)分左擊和右擊)等。此時就需要用到Qt的鼠標事件。

5 結(jié)束語

本文介紹了一種以Qt組件為基礎(chǔ)的聲納模擬顯控軟件的設(shè)計與實現(xiàn)。該模擬顯控軟件較好的實現(xiàn)了各個功能,滿足了用戶需求,并且具有良好的可靠性和可擴展性,以后可在此模擬顯控軟件的基礎(chǔ)上實現(xiàn)功能擴展和界面美化。

猜你喜歡
圖形用戶界面聲納光標
Daniel Kish
船載調(diào)頻連續(xù)波聲納測深技術(shù)研究
圖形用戶界面外觀設(shè)計專利保護問題探析——以“奇虎訴江民案”為例
基于聽覺特征的被動聲納目標識別
淺談圖形用戶界面(GUI)技術(shù)專利現(xiàn)狀
圖形用戶界面法律保護問題與對策
陳光標 癲狂自有邏輯
關(guān)于聲納發(fā)射電源的改進設(shè)計
Mac OS X系統(tǒng)中Delete刪除鍵的5種用法
Mac OS X系統(tǒng)中Delete刪除鍵的5種用法