面板開關功能是整個系統最人性化的功能之一,能夠對主界面中左側右側的各個小面板進行顯示和隱藏,當隱藏的時候,另外的同級面板自動拉伸填充,這樣就不會顯得空洞,直接在每一個面板的右上角提供了關閉按鈕,也能夠直接在頂部鼠標右鍵彈出菜單控制每一個面板的顯示和隱藏,面板的顯示和隱藏之後,自動更新菜單的文字,保證永遠都一致,有時候拖動位置亂了或者關閉了全部的,須要提供一個恢復全部面板的功能,作在右鍵菜單中,一次性恢復全部面板的顯示。 主界面的總體佈局採用QSplitter來控制能夠調整佔比,並自動記憶當前面板的佔比到配置文件,下次啓動軟件自動恢復佔比比例。linux
體驗地址:https://pan.baidu.com/s/1bbL2ZughZAgfIGrexyN-9g 提取碼:zkeh 。安全
監控系統是由攝像、傳輸、控制、顯示、記錄登記5大部分組成。攝像機經過同軸視頻電纜將視頻圖像傳輸到控制主機,控制主機再將視頻信號分配到各監視器及錄像設備,同時可將須要傳輸的語音信號同步錄入到錄像機內。 經過控制主機,操做人員可發出指令,對雲臺的上、下、左、右的動做進行控制及對鏡頭進行調焦變倍的操做,並可經過控制主機實如今多路攝像機及雲臺之間的切換。利用特殊的錄像處理模式,可對圖像進行錄入、回放、處理等操做,使錄像效果達到最佳。ide
視頻監控系統由實時控制系統、監視系統及管理信息系統組成。實時控制系統完成實時數據採集處理、存儲、反饋的功能;監視系統完成對各個監控點的全天候的監視,能在多操做控制點上切換多路圖像;管理信息系統完成各種所需信息的採集、接收、傳輸、加工、處理,是整個系統的控制核心。視頻監控系統是安全防範系統的組成部分,它是一種防範能力較強的綜合系統。視頻監控以其直觀、方便、信息內容豐富而普遍應用於許多場合。工具
void frmMain::doAction() { QAction *action = (QAction *)sender(); QString text = action->text(); if (text == "顯示時間和CPU") { App::TimeVisible = true; actionTime->setText("隱藏時間和CPU"); ui->widgetTime->setVisible(true); } else if (text == "隱藏時間和CPU") { App::TimeVisible = false; actionTime->setText("顯示時間和CPU"); ui->widgetTime->setVisible(false); } else if (text == "顯示設備列表") { App::LeftTopVisible = true; actionLeftTop->setText("隱藏設備列表"); emit showVisible(0, true); } else if (text == "隱藏設備列表") { App::LeftTopVisible = false; actionLeftTop->setText("顯示設備列表"); emit showVisible(0, false); } else if (text == "顯示窗口信息") { App::LeftBottomVisible = true; actionLeftBottom->setText("隱藏窗口信息"); emit showVisible(1, true); } else if (text == "隱藏窗口信息") { App::LeftBottomVisible = false; actionLeftBottom->setText("顯示窗口信息"); emit showVisible(1, false); } else if (text == "顯示雲臺操做") { App::RightTopVisible = true; actionRightTop->setText("隱藏雲臺操做"); emit showVisible(2, true); } else if (text == "隱藏雲臺操做") { App::RightTopVisible = false; actionRightTop->setText("顯示雲臺操做"); emit showVisible(2, false); } else if (text == "顯示設備控制") { App::RightBottomVisible = true; actionRightBottom->setText("隱藏設備控制"); emit showVisible(3, true); } else if (text == "隱藏設備控制") { App::RightBottomVisible = false; actionRightBottom->setText("顯示設備控制"); emit showVisible(3, false); } else if (text == "恢復默認佈局") { App::TimeVisible = true; actionTime->setText("隱藏時間和CPU"); ui->widgetTime->setVisible(true); App::LeftTopVisible = true; actionLeftTop->setText("隱藏設備列表"); emit showVisible(0, true); App::LeftBottomVisible = true; actionLeftBottom->setText("隱藏窗口信息"); emit showVisible(1, true); App::RightTopVisible = true; actionRightTop->setText("隱藏雲臺操做"); emit showVisible(2, true); App::RightBottomVisible = true; actionRightBottom->setText("隱藏設備控制"); emit showVisible(3, true); } App::writeConfig(); }
void frmVideo::showVisible(quint8 type, bool visible) { //左側任意一個面板顯示則先主面板顯示 if ((type == 0 || type == 1) && visible) { ui->splitterLeft->setVisible(true); } //左側任意一個面板顯示則先主面板顯示 if ((type == 2 || type == 3) && visible) { ui->splitterRight->setVisible(true); } if (type == 0) { ui->widgetLeftTop->setVisible(visible); } else if (type == 1) { ui->widgetLeftBottom->setVisible(visible); } else if (type == 2) { ui->widgetRightTop->setVisible(visible); } else if (type == 3) { ui->widgetRightBottom->setVisible(visible); } //若是都隱藏了則總體面板隱藏 if (!ui->widgetLeftTop->isVisible() && !ui->widgetLeftBottom->isVisible()) { ui->splitterLeft->setVisible(false); } if (!ui->widgetRightTop->isVisible() && !ui->widgetRightBottom->isVisible()) { ui->splitterRight->setVisible(false); } }