【思想落地】一文分享Qt界面的设计与开发

article/2025/9/15 3:51:27

文章目录

      • 一、开篇
      • 二、软件界面功能分析
      • 三、界面实现
        • (3-1)从界面整体角度规划功能和切片
        • (3-2)顶部时间参数的处理
        • (3-3)左侧/右侧按钮控制区
        • (3-4)中央传感器显示
        • (3-5)底部控制区
      • 四、总结

一、开篇

Qt作为一个功能强大的软件开发工具,开发软件对于开发人员来说非常友好,本文小生分享一个具体的界面开发过程和思路。

本文不会涉及具体的代码实现,而是重点描述软件界面的实现和实现思路。先来看看实现的界面的样子吧:

上图是一个医疗手术大屏系统的中央控制操作界面。总体来说,该界面主要有两大类功能:传感器参数显示人机交互控制

  1. 传感器参数显示:放于界面的中央部分。

  1. 时间参数显示:位于界面的顶部。

  1. 人机交互控制:位于左侧、右侧、底部。

左侧

右侧

底部

二、软件界面功能分析

(1)顶部区域用于显示时间,包括:手术计时、麻醉计时、系统的本地时间三部分时间信息参数。

(2)中央传感器参数显示:软件的这部分界面需要以图表方式显示各类传感器的参数,例如:洁净度、前压差、后压差、二氧化碳等参数。

(3)左侧控制区:设置【手术信息】、【环境】、【空调】、【音乐】四个控制按钮,作为软件界面的逻辑切换的控件。

(4)右侧控制区:设置【护理管理】、【电话】、【系统】、【日历】四个控制按钮,功能与左侧控制区的按钮类似。

(5)底部控制区:这部分设置音乐控制功能(上一曲、播放/暂停、下一曲、播放音量控制),中间为手术灯的控制按钮(手术灯的开/关),拨打电话(护士站),系统控制区(禁音、设置、退出系统)。

三、界面实现

本小节站在Qt的角度,对该界面进行技术分析和实现。描述具体的实现思路和过程(不会涉及具体代码)

(3-1)从界面整体角度规划功能和切片

隐藏界面中具体的显示和人机交互控件,单独切一张背景图片出来,如下图所示:

(注)这里为什么不留下底部的控制区域的边框划分呢,主要考虑到这部分会使用单独的QWidget来实现,同时也为了后期界面背景的调整和修改,减少调整控件位置的工作。

好啦,背景准备好了,现在来看看顶部的时间参数。

(3-2)顶部时间参数的处理

从界面中可见,这部分时间参数的数字带有渐变和光晕效果,如果使用Qt的QLabel来实现,基本上达不到这样的效果(简单颜色的界面可以)。处理这部分,需要将0-9的数字单独做成效果图,并将其组合成时间显示的格式。软件根据系统的时间参数,将普通的参数设置成0-9的效果图片即可。

时间上面的文字使用QLabel实现即可。

(3-3)左侧/右侧按钮控制区

从界面中可见,这部分按钮是不规则按钮,最为明显的是【环境】这个按钮:

故此处需要实现不规则按钮(使用setMask()实现)。
(注)处理按钮的时候,考虑到多语言的切换。可以把按钮背景图片的文字取消,使用按钮原生的文字,这样在做翻译的时候比较方便。否则,就需要将多语言作为图片来显示。

(3-4)中央传感器显示

这部分先切出背景,如下图所示:

1、使用QLabel表示“环境”标题

2、在这个界面中,当用户在点击按钮的时候会切换对应的图表。这个功能可使用QPushButton+QStackedWidget实现,也可以单独使用QTabWidget实现,还可以使用QPushButton+QTabWidget实现。

此处,最难处理可能是这种图表效果了。可以使用QtCharts或者QCustomPlot库来实现,但可能需要开发大量代码。因为每一个柱形带有渐变效果且两端是圆弧的。当然,也可以使用QPainter自定义控件去绘制,但是工作量应该很大(不推荐)。使用图表库是可以实现这种效果的。

(3-5)底部控制区

这部分比较好处理,使用自定义图形按钮就可以实现了

四、总结

开发这样一个界面,需要使用QWieget来做界面划分,然后实现各自对应下的功能和效果,开放API接口供其他类访问。然后把这些QWidget组合起来,就实现这个界面的开发啦。

本文基于Qt C++做了一个具体界面的实现思路分享。使用C++熟练了,完成这样一个界面,在界面组成元素已经设计完成的前提下,大概需要3-5个工作日完成,当然这是比较快的啦(哈哈):包括人机交互控制区按钮的槽函数的设计、图表的设计、图表数据接口的预定义,时间参数的获取和自定义时间图片效果的显示、还有些具体的细节。总体而言,Qt开发界面还是比较快且开发友好,非常Nice!

QtQuick亦能实现,殊途同归,萝卜青菜各有所爱。


搜索关注【嵌入式小生】微信公众号,可获取很多精彩内容>>>


http://chatgpt.dhexx.cn/article/eHk4P93o.shtml

相关文章

Qt调用主界面ui

一、适用情景 在其他类中使用主界面ui,this,控件操作等 二、步骤 首先,子类需要包含主界面的头文件和ui_xx.h文件,声明主界面类 然后使用构造函数把主界面的指针传递给子类 子类头文件: #ifndef ONEUI_H #define O…

QT——可视化界面ui

目录 1. 需要文件 2.文件关系及编写 3. 源码 4. 界面的模态与非模态 1. 需要文件 test.cpp test.h test.ui ui_test.h 2.文件关系及编写 test.ui: 可视化界面; test.cpp: 启动可视化界面,及可视化界面的各种相关功能源文件&#x…

QT中界面切换的三种方式

本周学习了QT的使用。QT身为一个图形界面的开发框架,在实际使用时必不可少的一环就是对不同界面的切换。本文中总结了自己练习使用过的三种切换界面的方式。 第一种:哪里进行界面切换就在哪里创建界面。 这种方式也是最容易理解的一种,当我们…

Qt界面开发(三)

这次要给大家分享一些我在github和qtcn(主要是liudianwu大神,Qt界面开发(一)有很多都是他的作品)上找到的比较漂亮且实用Qt界面和控件集合。 -------------------------------------我是分割线------------------------------------- &…

QT界面美化

转自点击打开链接 - 经验总结 1. 可用对话框(QDialog)模拟类似Android中toast的效果。 - 设置程序界面风格 在main函数中 QApplication::setStyle("windows"); QApplication::setStyle("windowsxp"); QApplication::setStyle("…

QT介绍和基本界面构建(QT一)

目录 一、Qt 介绍二、Qt工程1.工程 firstQt.pro2.Qt入口 三、用Qtcreator集成开发环境创建Qt工程代码ui1.创建项目的时候注意的问题2.desgner设计器界面说明 四、纯代码实现Qt工程创建带ui界面编译运行五、基本组件(QLineEidt, QLabel, QPush…

QT 简单的登录界面

一、描述 有登录界面、注册界面,用到sqlite数据库保存账号和密码,界面还没有布局美化等,只实现了最基本的功能。 二、界面及功能介绍 1、登录界面2、注册界面 3、主界面 没想好弄啥功能,于是就弄了两个按钮。 4、文件结构 三、…

(四) 制作一个最简单的qt界面

前面我们学了 (一) 在Windows上搭建Qt环境 (二) Qt新建Android工程 (三) Qt入门篇之C基础 今天我们用Qt制作一个最简单的qt登录界面 一、在PC机上运行 1.QT基础 1.qt的移植性非常强,一套代码我们不用改的太多,直接通用所有的平台,不久的将来&#xff…

【Qt登录界面】

Qt登录界面 文章目录 Qt登录界面前言一、创建项目二、创建数据库及用户表三、登录界面设计四、注册界面设计五、效果图六、参考教程 前言 第一次在这上面写文章,没啥经验,如果有啥不当的地方,请各位大佬批评指正。我刚学Qt不久,结…

QT 简单的QT用户登录界面

简单的QT用户登录界面 一、简单描述 在登录界面输入用户名和密码正确之后才进入欢迎界面。 例子打包:链接: https://pan.baidu.com/s/1HEpNFghMDrBguMt93aRJ_A 提取码: bg4n 二、效果 三、工程文件结构 四、源文件 1、LoginForm02.pro文件 QT widgets guiSOUR…

一文读懂qt界面设计(分裂器,布局,拉伸,各种属性设置)

可以先看看我这个文章:qt关于界面设计中的一些知识总结_我是标同学的博客-CSDN博客_qt 水平伸展 现在我们来正式开始讲解。 布局种类 qt中能称为布局管理器的有如下6个: 水平布局(QHBoxLayout)垂直布局(QVBoxLayout…

Qt界面开发(一)(各种控件以及图表)

注:资源主要来源:http://www.qtcn.org/bbs/u/110085 (刘大神) 如若侵权,请联系删除。 本文只是将作品集合到起来,方便大家一起学习。 资源集合已经放到 链接:https://pan.baidu.com/s/1sVvQE8…

嵌入式学习之QT学习----3 制作简单的QT界面(如:QQ登录界面)

1、创建一个QT工程 new project —> Application —> Qt Widgets Application —> choose…(注意不要有中文路径)填写名称(我写的名称为class2)和创建路径(D:\qt\qt_demo\class2) —> 填写类名…

QT界面布局和设计

一、设计 对功能和模块进行分析,然后设计对应的模块,将每个模块都用widget展示作为组件。工程结构示例:二、完成模块 代码分别设计各个组件,合适即可三、主界面连接 主界面连接各个子模块。在这里插入代码片#include "AutoFl…

tomcat配置url跳转_tomcat安装目录详解

打开tomcat的解压之后的目录可以看到如下的目录结构: 1.bin: bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令&a…

【转】URL访问地址和Tomcat项目部署中不得不说的小秘密(JAVA之Tomcat服务器)

今天来简单讲讲tomcat项目部署和url地址访问栏的关系,顺便和大家分享下,叙述不当之处,还请大家多多指导! 众所周知,Tomcat项目发布的默认访问地址格式如下:http://localhost:8080/MyDemo/index.jsp 由于we…

tomcat配置url跳转_Tomcat

Tomcat介绍 1.Web服务器介绍 Web服务器可以解析HTTP协议,收到请求后可以进行响应,比如响应静态资源、进行页面跳转等 Web服务器响应可委托给CGI脚本、JSP脚本、ASP脚本、服务器端JS等程序或其它服务器端技术 Web服务器通常产生一个html响应以便浏览器浏览 2.常见Web服务器 We…

web服务之Tomcat

目录 Tomcat介绍 Tomcat组件 Tomcat组件 JavaServlet JSP容器 Tomcat部署步骤 关闭防火墙,将安装 Tomcat 所需软件包上传到 /opt 目录下 安装 JDK 设置 JDK 环境变量 安装启动 Tomcat tomcat的主要目录 Tomcat 虚拟主机配置 创建test1和test2项目目录和文…

Tomcat实现Https服务

Tomcat实现Https服务 1、JDK生成证书 进入JDK/bin目录键盘按下shift 鼠标右键,选择“在此处打开命令窗口”打开DOS命令窗键入命令”keytool -v -genkey -alias myKey -keyalg RSA -keystore F:/jdk1.6.0_45/myKey.keystore” 证书密码123456 2、配置tomcat 配置…

【转】URL访问地址和Tomcat项目部署中不得不说的小秘密

今天来简单讲讲tomcat项目部署和url地址访问栏的关系,顺便和大家分享下,叙述不当之处,还请大家多多指导! 众所周知,Tomcat项目发布的默认访问地址格式如下:http://localhost:8080/MyDemo/index.jsp 由于we…