視窗架構

Linux 視窗程式 視窗工具介紹 視窗架構

 

首頁
前言
網路導論
Linux 視窗程式
整合成果展示
心得與感想

 

 

 本視窗共分成三部分

(1)Network網路監控     (2)Schedule 預約排程     (3) Local 本地端播放

網路監控是我們整個監控系統的主要部分,而預約排程是讓使用者能夠自訂監控和結束時間

的功能。本地端播放則提供使用者日後檢視之前監控動作所錄下畫面。

  

  NETWORK 網路監控                

             

                  (圖五) 網路播放面板

流程說明:

使用者在LineEdit(1~4)中輸入 ip , port , user name , password

        按下PushBotton(5)確認後送出Clicked() signal,執行confirmSlot() 首先先檢查是否

        有輸入值,若無則不產生反應,有則把輸入值讀入並轉換成檢查帳號密碼所需之格

        式。之後彈出QMessageBox,若使用者按Confirm確認輸入資料正確,則離開這個

        Slot ;反之則清除讀入值 ,並把LineEdit的顯示值清空。

 

         流程和code如下圖所示 :

                        

                    參考指令

                    QLineEdit::displayText () const  : Returns the displayed text.

                    void QLineEdit::clear () [virtual slot] : Clears the contents of the line edit.

 

當使用者確認輸入資料無誤後 ,按下PushBotton(6)連線 , 執行serverSlot()。首先檢查有沒

有輸入資料,若無則離開這個Slot , 若有則使用一執行緒執行cli ,要求和server建立TCP

, 若帳號密碼無誤 , TCP連線建立 , 則顯示OK DSP板開始壓檔案。否則顯示

Idel 表示TCP連線失敗。

 

       流程如下圖所示 :

                            

 

顯示OK TCP連線建立後,按下PushBotton(7)監控 , 執行connectnet() slot , 讀取系統時

以系統時間為檔名儲存監控影像。之後以兩個執行緒分別向server要求接受監控畫面

和連結播放器。

流程如下圖所示:

 

                 

PushBotton (8)暫停 (9)繼續 (10) 中斷 :

      當使用者按下(8)暫停鈕設定全域變數aoq=0;

         aoq=0, 播放器暫停播放。當(9)繼續鈕被按下aoq=1此時播放器繼續播放。

      PushBotton(10)中斷鈕被按下 則用一執行緒結束和server的連線。

      PushBotton (11)被按下彈出對話框供使用者選取顏色。若使用者選

      取有效之顏色並確定則設定面板顏色否則則離開Slot

 

      流程如下 :

                    

 

Schedule 預約排程

        

  (圖六) 預約排程面板

流程說明 :

(1) RadioButton 讓使用者選擇要預約網路監控或本地端播放。假若選擇預約網路監控,

則事先須先在監控面板輸入完成帳號密碼等資料。若預約本地播放,則須先選擇好欲

播放之影片。

(2)~(6)SpinBox提供使用者輸入欲預約時間。按下(7) 確定觸發scheduleSlot()讀入所輸入時

設定一QTimer Class每分鐘去觸發 schedulecompare() 一次。schedulecompare()讀取系

統時間和使用者所輸入時間做比較。時間相符若選擇網路監控則觸發 serverSlot()

connectnet()若選擇本地端播放則觸發 playslot()。若使用者輸入年份為零,則每年的

預約時間都觸發一次,若年和月皆為零,則每月都預約時間都觸發一次。年月日皆為

零,則每天的預約時間皆觸發一次。同理,年月日時皆零,每個小時皆觸發一次。

(8)~(13) :結束監控/播放動作之功能。使用者輸入結束時間後,按下(13)確定。若系統時

間和輸入時間吻合,則結束之前預約/播放功能。可以提供使用者自行設定欲監控或播放

本地端影片多少時間。

                   

 

 Local 本地端播放

 

   

           (圖七))本地端播放面板

流程說明 :

(1)~(2) CheckBox 當使用者選取檔案後可選擇是否放大播放視窗是否重複播放影片:傳送

是否放大視窗和重複播放設定參數至播放器

(3) SliderBar 提供使用者選擇欲播放影片之速度單位為 (/每秒所選擇之速度顯示在

LCD : 傳送播放速度參數至播放器

(4)~(6) PushBotton 播放控制選項 : 提供使用者開始播放 、暫停播放、繼續播放影片之功能。

  

相關code及動作流程 :