一、說明
在使用Qt開發的網管客戶端程序中,網管客戶端主要負責顯示設備信息以及對設備下發配置信息等,如配置設備名字、更新設備程序等;由於在網管客戶端程序的操作要先經過服務器處理,再由服務器將該命令轉發給設備,因此網管客戶端程序和設備之間是通過網絡通信交互的;這樣就會出現很多不穩定的情況,如網絡連接斷開、下發配置超時、下發配置失敗、下發配置成功等等;然而所有如上的操作結果都需要反饋到網管客戶端程序對用戶進行友好的提示;該博文主要講述如何實現這一流程。
二、界面設想
界面設想以及要求如下所示:
- 有一個進度條來向用戶表明當前正在進行配置操作
- 有一個文本來向用戶表明當前配置操作的結果,如成功或失敗等
- 配置操作的結果文本能用顏色更加明顯的區分是失敗還是成功
- 配置操作結束后,文本顯示並且進度條不顯示
- 配置操作結束后,文本一直顯示直到用戶主動關閉該界面
- 該界面覆蓋配置界面,即用戶在配置界面上下發操作后立馬會彈出該界面覆蓋在其上面,這樣用戶不能再次操作配置界面,從而同步用戶操作
- 該界面可以設置半透明效果,使得在覆蓋的同時可以看到配置界面的內容
三、界面模型
根據界面設想,使用Qt Designer設計出來的基本界面如下圖所示:

四、界面效果
根據界面設想的要求,在實際項目中開發出來的界面效果如下所示:
1、操作界面:

輸入Hostname值以及選擇Timezone信息,單擊<Submit>按鈕,則出現操作提示界面覆蓋在其上,如下圖所示,操作提示界面呈半透明,有進度條表明當前正在進行配置下發操作過程
2、操作進行界面:

3、操作結果界面:
稍等片刻,即可得到該操作的結果,三種結果效果如下圖所示:
- 操作成功,操作結果用藍色字體展示

- 操作失敗,顯示失敗詳細原因並且操作結果用紅色字體展示

- 操作超時, 操作結果用紅色字體展示

在操作結束的任一界面中單擊<Return>按鈕可以返回到操作界面
五、補充說明
總的來說,這個設想與實現在實際項目中是非常人性化的;本來想把代碼實現思路也寫出來的,可是天色已晚,只好把該界面的代碼實現思路作為下一條博文為大家講述;謝謝!
