APP下载

基于Qt的声纳模拟显控软件设计与实现

2019-06-11李华庆

电子技术与软件工程 2019年7期
关键词:图形用户界面声纳光标

文/李华庆

声纳显控软件是声纳系统中的重要组成部分。声纳显控软件集声纳信息的显示和声纳的控制命令为一体,是声纳操作员和声纳设备之间交互的桥梁和纽带。随着科学技术的不断发展和进步,声纳设备提供的探测信息越来越复杂而多样,因此声纳显控软件的功能也变得越来复杂。Qt是一种跨平台的C++图形用户界面,在软件界面开发过程中具有优良特性,本文介绍一种基于Qt的声纳模拟显控软件设计实现方法。

1 Qt简介

Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,具有的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为“信号/槽”的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。

图1:声纳显控软件设计框架

2 信号与槽

信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。

2.1 信号

当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当作一个真正的软件组件来使用。

2.2 槽

用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且对象并不了解具体的通信机制。

一个信号可以连接多个槽,当信号发射时,会以不确定的顺序一个接一个的调用各个槽;一个槽也可以与多个信号信号相连,无论哪个信号被发射,都会调用这个槽。

图2:界面实现流程

图3:声纳模拟显控界面

3 声纳显控软件组成

声纳显控软件设计框架如图1所示。其中,声纳显控软件包括参数显示与命令控制、画面显示两大类。参数显示与命令控制包括工作参数显示、系统参数显示、操作控制三部分,实现声纳显控软件当前工作状态的显示以及命令控制;画面显示包括扫描图显示、幅度图显示、历程图显示三部分,显示声纳显控软件接受到的各种画面信息。

4 具体实现

本文所介绍的声纳显控界面的程序框架式自顶向下的。界面实现流程图如图2所示。首先新建一个Qt项目,在main()函数中生成一个QApplication类的实例a,然后定义一个Widget类的对象w,最后在Widget.ui中设计界面,在Widget.cpp中完成代码实现。

具体实现界面如图3所示。

界面共有四部分组成,分别是幅度图、历程图、表格、控制菜单。以历程图为例进行简单介绍。

首先在UI文件中对widget进行提升,提升为历程图类。历程图类的核心实现代码如下:

在显控软件中需要处理光标事件,包括光标进入、光标退出、光标移动和光标点击(区分左击和右击)等。此时就需要用到Qt的鼠标事件。

5 结束语

本文介绍了一种以Qt组件为基础的声纳模拟显控软件的设计与实现。该模拟显控软件较好的实现了各个功能,满足了用户需求,并且具有良好的可靠性和可扩展性,以后可在此模拟显控软件的基础上实现功能扩展和界面美化。

猜你喜欢

图形用户界面声纳光标
Daniel Kish
船载调频连续波声纳测深技术研究
图形用户界面外观设计专利保护问题探析——以“奇虎诉江民案”为例
基于听觉特征的被动声纳目标识别
浅谈图形用户界面(GUI)技术专利现状
图形用户界面法律保护问题与对策
陈光标 癫狂自有逻辑
关于声纳发射电源的改进设计
Mac OS X系统中Delete删除键的5种用法
Mac OS X系统中Delete删除键的5种用法