面板开关功能是整个系统最人性化的功能之一,能够对主界面中左侧右侧的各个小面板进行显示和隐藏,当隐藏的时候,另外的同级面板自动拉伸填充,这样就不会显得空洞,直接在每一个面板的右上角提供了关闭按钮,也能够直接在顶部鼠标右键弹出菜单控制每一个面板的显示和隐藏,面板的显示和隐藏之后,自动更新菜单的文字,保证永远都一致,有时候拖动位置乱了或者关闭了全部的,须要提供一个恢复全部面板的功能,作在右键菜单中,一次性恢复全部面板的显示。 主界面的总体布局采用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); } }