Qt之实现网络下发配置的半透明友好提示界面
一、说明
在使用Qt开发的网管客户端程序中,网管客户端主要负责显示设备信息以及对设备下发配置信息等,如配置设备名字、更新设备程序等;由于在网管客户端程序的操作要先经过服务器处理,再由服务器将该命令转发给设备,因此网管客户端程序和设备之间是通过网络通信交互的;这样就会出现很多不稳定的情况,如网络连接断开、下发配置超时、下发配置失败、下发配置成功等等;然而所有如上的操作结果都需要反馈到网管客户端程序对用户进行友好的提示;该博文主要讲述如何实现这一流程。
二、界面设想
界面设想以及要求如下所示:
- 有一个进度条来向用户表明当前正在进行配置操作
- 有一个文本来向用户表明当前配置操作的结果,如成功或失败等
- 配置操作的结果文本能用颜色更加明显的区分是失败还是成功
- 配置操作结束后,文本显示并且进度条不显示
- 配置操作结束后,文本一直显示直到用户主动关闭该界面
- 该界面覆盖配置界面,即用户在配置界面上下发操作后立马会弹出该界面覆盖在其上面,这样用户不能再次操作配置界面,从而同步用户操作
- 该界面可以设置半透明效果,使得在覆盖的同时可以看到配置界面的内容
三、界面模型
根据界面设想,使用Qt Designer设计出来的基本界面如下图所示:

四、界面效果
根据界面设想的要求,在实际项目中开发出来的界面效果如下所示:
1、操作界面:

输入Hostname值以及选择Timezone信息,单击<Submit>按钮,则出现操作提示界面覆盖在其上,如下图所示,操作提示界面呈半透明,有进度条表明当前正在进行配置下发操作过程
2、操作进行界面:

3、操作结果界面:
稍等片刻,即可得到该操作的结果,三种结果效果如下图所示:
- 操作成功,操作结果用蓝色字体展示

- 操作失败,显示失败详细原因并且操作结果用红色字体展示

- 操作超时, 操作结果用红色字体展示

在操作结束的任一界面中单击<Return>按钮可以返回到操作界面
五、补充说明
总的来说,这个设想与实现在实际项目中是非常人性化的;本来想把代码实现思路也写出来的,可是天色已晚,只好把该界面的代码实现思路作为下一条博文为大家讲述;谢谢!
Qt之实现网络下发配置的半透明友好提示界面的更多相关文章
- Qt 多线程和网络编程学习
一,Qt多线程类学习 QThread类,开始一个新的线程就是开始执行重新实现QThread::run(),run()是默认现实调用exec(),QThread::start()开始线程的执行,run( ...
- CentOS(六)--Linux系统的网络环境配置
Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...
- linux网络环境配置
第一种方法: (red hat) (1)用root身份登录,运行setup命令进入到text mode setup utility 对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置. ...
- Linux网络基础配置
这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...
- 在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址?
在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址? 使用 dmesg 与 grep 命令来实际,例如以下: [root@localhost ~]# dmesg | grep eth e10 ...
- Linux网络基础设施配置
1.TCP/IP网络配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network /etc/host.conf /etc/ ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
- QT的安装及环境配置
QT的安装及环境配置 一.windows的下QT的安装及环境配置 (一)从框架安装程序中安装 步骤: 准备:下载QT库,下载指定版本的MINGW,QT IDE 1.下载QT安装文件如:qt-win-o ...
- Linux系统网络基本配置
1. ifconfig命令的使用: (1)查看所有网卡基本信息:ifconfig (2)查看特定网卡信息:ifconfig (网卡名,如:eht0) (3)停止网卡设备服务:ifconfig (网卡名 ...
随机推荐
- [Redis]Redis高级特性的配置及使用
---------------------------------------------------------------------------- [Redis安全性] 一 . 默认我们进入Re ...
- pymysql 读取数据库没有字段
import pymysql # 打开数据库连接db = pymysql.connect("localhost", "root", "root&quo ...
- Windows 10同步时间的方法
今天在安装了Windows 10 1809(October 2018 update)之后发现时间不能同步,以前并没有出现这种情况. 1) 打开控制面板,找到时钟域地区 2) 选择日期和时间 3) 选择 ...
- Curator的监听
如果要使用类似Wather的监听功能Curator必须依赖一个jar包,Maven依赖, <dependency> <groupId>org.apache.curator< ...
- MAC book 无法删除普通用户的解决办法
1来自苹果官网 macOS Sierra: 删除用户或群组 如果您是管理员,当您不想再让某些用户访问 Mac 时,可以删除他们.您也可以删除不想要的群组. 删除用户时,您可以存储该用户的个人文件夹(包 ...
- 10.13 新版本go on~
上午1.5 终审 and 排期 合同管理那边又是切换选项时各种联动,我第一想法是 好麻烦,不想做这个...第二想法才是给我做吧 锻炼锻炼我 然后 分任务的时候 分给我了,,哈哈 开心 虽然我没想躲 但 ...
- Ubuntu 18.04学习笔记
命令行快捷键 https://blog.csdn.net/wanlhr/article/details/80926804 Ubuntu18.04使用vi命令修改文件并保存 vi /opt/teamvi ...
- SQL Server 2008 R2 根据WSDL访问WebService
参考网站:WebService学习整理(一)——客户端三种调用方式整理 自我概括: WebService 通过HTTP通讯,数据以XML格式传输使两个系统进行数据交互 SOAP 是访问协议(注明访问W ...
- c#Dapper 批量插入Mysql
<connectionStrings> <add name="sqlconnectionString" connectionString="server ...
- WEB框架本质和第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 总的来说:Web框架的本质就是浏览 ...