一、说明

在使用Qt开发的网管客户端程序中,网管客户端主要负责显示设备信息以及对设备下发配置信息等,如配置设备名字、更新设备程序等;由于在网管客户端程序的操作要先经过服务器处理,再由服务器将该命令转发给设备,因此网管客户端程序和设备之间是通过网络通信交互的;这样就会出现很多不稳定的情况,如网络连接断开、下发配置超时、下发配置失败、下发配置成功等等;然而所有如上的操作结果都需要反馈到网管客户端程序对用户进行友好的提示;该博文主要讲述如何实现这一流程。

二、界面设想

界面设想以及要求如下所示:

  • 有一个进度条来向用户表明当前正在进行配置操作
  • 有一个文本来向用户表明当前配置操作的结果,如成功或失败等
  • 配置操作的结果文本能用颜色更加明显的区分是失败还是成功
  • 配置操作结束后,文本显示并且进度条不显示
  • 配置操作结束后,文本一直显示直到用户主动关闭该界面
  • 该界面覆盖配置界面,即用户在配置界面上下发操作后立马会弹出该界面覆盖在其上面,这样用户不能再次操作配置界面,从而同步用户操作
  • 该界面可以设置半透明效果,使得在覆盖的同时可以看到配置界面的内容

三、界面模型

根据界面设想,使用Qt Designer设计出来的基本界面如下图所示:

四、界面效果

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

1、操作界面

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

2、操作进行界面:

3、操作结果界面:

稍等片刻,即可得到该操作的结果,三种结果效果如下图所示:

  • 操作成功,操作结果用蓝色字体展示

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

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

在操作结束的任一界面中单击<Return>按钮可以返回到操作界面

五、补充说明

总的来说,这个设想与实现在实际项目中是非常人性化的;本来想把代码实现思路也写出来的,可是天色已晚,只好把该界面的代码实现思路作为下一条博文为大家讲述;谢谢!

Qt之实现网络下发配置的半透明友好提示界面的更多相关文章

  1. Qt 多线程和网络编程学习

    一,Qt多线程类学习 QThread类,开始一个新的线程就是开始执行重新实现QThread::run(),run()是默认现实调用exec(),QThread::start()开始线程的执行,run( ...

  2. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  3. linux网络环境配置

    第一种方法: (red hat) (1)用root身份登录,运行setup命令进入到text mode setup utility 对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置. ...

  4. Linux网络基础配置

    这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...

  5. 在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址?

    在Linux下,在网络没有配置好前,怎样查看网卡的MAC地址? 使用 dmesg 与 grep 命令来实际,例如以下: [root@localhost ~]# dmesg | grep eth e10 ...

  6. Linux网络基础设施配置

    1.TCP/IP网络配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network /etc/host.conf /etc/ ...

  7. Qt For Android 开发环境配置

    想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...

  8. QT的安装及环境配置

    QT的安装及环境配置 一.windows的下QT的安装及环境配置 (一)从框架安装程序中安装 步骤: 准备:下载QT库,下载指定版本的MINGW,QT IDE 1.下载QT安装文件如:qt-win-o ...

  9. Linux系统网络基本配置

    1. ifconfig命令的使用: (1)查看所有网卡基本信息:ifconfig (2)查看特定网卡信息:ifconfig (网卡名,如:eht0) (3)停止网卡设备服务:ifconfig (网卡名 ...

随机推荐

  1. <Dare To Dream 团队>第一次作业:团队亮相

    队名:Dare To Dream 2.团队成员组成:学号/姓名(标记团队组长): 201571030333/绽玉林(组长) 201571030132/姚慧霞 201571030308/李金平    2 ...

  2. 并发系列3:Lock锁以及核心类AQS

    Java Lock类提供了语言级别的Synchronized,Lock与Condition配合与Synchronized配合object一样实现了等待/通知机制.但它提供了更高的灵活性,有:1尝试非阻 ...

  3. 通过windows远程桌面连接CentOS系统

    前提: CentOS安装桌面,如果无桌面,请执行 # yum -y groups install "GNOME Desktop" # startx 1 2 配置源 # yum in ...

  4. EasyUI DataGrid设置列宽为百分比导致表头和内容错位的解决方法

    在DataGrid中设置列宽为百分比一般是没有问题的 columns: [[{ title: '内容', field: '__EMPTY', width: '40%' }, { title: '隐患级 ...

  5. 用命令生成Webservice 对应的代理类

    wsdl /language:C# /namespace:Camstar.WebPortal.WebPortlets.Shopfloor.SAP.GreatWall /out:gwSAPService ...

  6. spark快速开发之scala基础之5高阶函数,偏函数,闭包

    高阶函数 高阶函数就是将函数作为参数或者返回值的函数. object function { def main(args: Array[String]): Unit = { println(test(f ...

  7. 【Django】网页跳转的问题

    这两天有个比较奇怪了问题困扰着我,就是网页跳转之后页面没有变化,虽然url已经变了,但是页面还是原来的,只是表单数据清空了 就是http://127.0.0.1:8000/signup_signin/ ...

  8. CentOS 特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)

    名称 说明 $0 脚本名称 $1-9 脚本执行时的参数1到参数9 $? 脚本的返回值 $# 脚本执行时,输入的参数的个数 $@ 输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列 ...

  9. 100-days: fourteen

    Title: Face mask craze(面膜热) creates Korean(韩国) (a) billionaire with Goldman(高盛集团) backing face mask ...

  10. ExecuteReader()获得数据

    ExecuteReader用于实现只进只读的高效数据查询.ExecuteReader:返回一个SqlDataReader对象,可以通过这个对象来检查查询结果,它提供了只进只读的执行方式,即从结果中读取 ...