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 (网卡名 ...
随机推荐
- 使用Powershell实现计算机名称及IP地址修改
我的第一篇博客分享,写这个代码的用途是在公司Ghost完系统之后去修改本地计算机名称及IP 地址,用Powershell实现. 1. 代码第一部分,检查Powershell是否已管理员权限执行,如果不 ...
- oracle中文乱码的解决方法
select userenv('language') from dual; NLS_LANG AMERICAN_AMERICA.AL32UTF8
- H5页面input输入框含有键盘自带的表情符时显示异常
在做一个关于新闻的评论功能的H5页面时,需求里面要求能够发送表情显示表情,如果使用自定义的表情库,则在评论也还要加载大量的表情符图片,极大的影响加载速度,消耗流量,去看了下别的新闻网页版的评论部分也没 ...
- pymongo操作mongodb
此验证中只开启两个mongodb节点,可以连接任意节点,以下操作不涉及读写,不涉及连接那个节点 mongodb连接: from pymongo import MongoReplicaSetClient ...
- 深入浅出PF 学习笔记---资源文件
引用 xmlns:sys="clr-namespace:System;assembly=mscorlib" <Window.Resources><sys:St ...
- IP路由实验之---Telnet远程登陆
实验设备:一台华三路由器,一台PC 骤一,为路由器端口配置 IP 地址 <H3C>system-view #进入系统视图 [H3C] / #进入0/0端口 [H3C-Ethernet-/] ...
- idea导入eclipse项目的配置
idea导入eclipse项目需要的配置 1.配置jdk,这两处选择一样就可以,也可以根据自己需求选择,上边的比下边的版本高就行 2.这里会默认和配置jdk一样 3.添加lib依赖,选择到项目的lib ...
- Python自动化测试用例设计--测试类型
1.前言 WEB自动化测试时候测试哪些类型,下面将介绍一下: 2. 测试类型 2.1 测试静态内容 静态内容测试是最简单的测试,用于验证静态的.不变化的UI 元素的存在性.例如: 每个页面都有其预期的 ...
- windows下webstorm调试react native
安装请参考:http://www.cnblogs.com/wjx0912/p/5662457.html webstorm在2016.10.20的版本才正式增加react native的调试支持,所以w ...
- angular2 学习
一,angular2脚手架搭建 1,安装node 2,安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 3,搭 ...