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 (网卡名 ...
随机推荐
- sublime3支持es6语法和vue彩色显示
支持ES6语法设置: 首先安装nodejs 当然你可以使用其它诸如jsc之类的环境来运行js, 本文使用的是nodejs. 首先确保你的电脑已经安装好nodejs, 并已将其添加到环境变量中 (一般安 ...
- Github(远程仓库) 2
远程仓库之前就添加好了 今天弄了简单的查看远程库,提取远程库,在线修改以及本地更新修改,推送到远程仓库,删除远程仓库,参考http://www.runoob.com/git/git-remote-re ...
- git hub 第一篇
昨天跟着菜鸟教程进行操作,问题如下: 1.在git网站进行注册,名称和邮箱 2..忘了在开头建立本地仓库,后来又新建仓库,在仓库右键添加git bash here 3.出现了下边这个错误,参考了很多文 ...
- easyui datagrid自定义按钮列,即最后面的操作列
在很多时候我们要在表格的最后添加一列操作列,easyUI貌似没有提供种功能,不过没关系,我们可以自定义来实现首先是HTML部分 <table id="tt" class=&q ...
- JSON转Excel
1.引入js (dist目录下JsonExportExcel.min.js) <script src="https://cuikangjie.github.io/JsonExportE ...
- 【Django】网页跳转的问题
这两天有个比较奇怪了问题困扰着我,就是网页跳转之后页面没有变化,虽然url已经变了,但是页面还是原来的,只是表单数据清空了 就是http://127.0.0.1:8000/signup_signin/ ...
- Kettle (5) - 获取 Web 数据
使用 Kettle 获取网页数据.当然,这里的网页数据主要指结构化数据,可能是 xml 格式.json 格式 或者 csv 文件等.以 http://services.odata.org/V3/Nor ...
- logback log4j log4j2 性能实测
logback log4j log4j2 性能实测 转载: https://blog.souche.com/logback-log4j-log4j2shi-ce/ 日志已经成为系统开发中不可或缺的一部 ...
- 项目启动一直死循环 DruidDataSource.init 方法
今日项目启动遇到一个问题: 项目启动一直死循环 DruidDataSource.init 方法, 代码和同事相同,环境也一致 最后通过maven clean 然后重新install ,再次启动正常了 ...
- 第五次spring会议
昨天所做之事: 昨天我对软件加上了换肤和透明度等功能. 今天所做之事: 我对软件加上了保密功能. private void 一键转密文ToolStripMenuItem_Click(object se ...