資源簡(jiǎn)介
Qt編寫視頻監(jiān)控畫面分割界面,支持四畫面+六畫面+八畫面+九畫面+十六畫面,鼠標(biāo)右鍵菜單切換。

代碼片段和文件信息
#include?“frmmain.h“
#include?“ui_frmmain.h“
#pragma?execution_character_set(“utf-8“)
frmMain::frmMain(QWidget?*parent)?:
????QWidget(parent)
????ui(new?Ui::frmMain)
{
????ui->setupUi(this);
????this->initForm();
????this->initMenu();
????this->show_video_all();
????QTimer::singleShot(1000?this?SLOT(play_video_all()));
}
frmMain::~frmMain()
{
????delete?ui;
}
bool?frmMain::eventFilter(Qobject?*watched?QEvent?*event)
{
????if?(event->type()?==?QEvent::MouseButtondblclick)?{
????????QLabel?*widget?=?(QLabel?*)?watched;
????????if?(!videoMax)?{
????????????videoMax?=?true;
????????????hide_video_all();
????????????ui->gridLayout->addWidget(widget?0?0);
????????????widget->setVisible(true);
????????}?else?{
????????????videoMax?=?false;
????????????show_video_all();
????????}
????}?else?if?(event->type()?==?QEvent::MouseButtonPress)?{
????????if?(qApp->mouseButtons()?==?Qt::RightButton)?{
????????????videoMenu->exec(QCursor::pos());
????????}
????}
????return?QWidget::eventFilter(watched?event);
}
void?frmMain::initForm()
{
????//設(shè)置樣式表
????QStringList?qss;
????qss.append(“Qframe{border:2px?solid?#000000;}“);
????qss.append(“QLabel{font:75?25px;color:#F0F0F0;border:2px?solid?#AAAAAA;background:#000000;}“);
????qss.append(“QLabel:focus{border:2px?solid?#00BB9E;background:#555555;}“);
????ui->frame->setstyleSheet(qss.join(““));
????videoMax?=?false;
????videoCount?=?16;
????videoType?=?“1_16“;
????for?(int?i?=?0;?i?????????QLabel?*widget?=?new?QLabel;
????????widget->setobjectName(QString(“video%1“).arg(i?+?1));
????????widget->installEventFilter(this);
????????widget->setFocusPolicy(Qt::StrongFocus);
????????widget->setAlignment(Qt::AlignCenter);
????????//二選一可以選擇顯示文字也可以選擇顯示背景圖片
????????//widget->setText(QString(“通道?%1“).arg(i?+?1));
????????widget->setPixmap(QPixmap(“:/bg_novideo.png“));
????????widgets.append(widget);
????}
}
void?frmMain::initMenu()
{
????videoMenu?=?new?QMenu(this);
????videoMenu->addAction(“截圖當(dāng)前視頻“?this?SLOT(snapshot_video_one()));
????videoMenu->addAction(“截圖所有視頻“?this?SLOT(snapshot_video_all()));
????videoMenu->addSeparator();
????QMenu?*menu4?=?videoMenu->addMenu(“切換到4畫面“);
????menu4->addAction(“通道1-通道4“?this?SLOT(show_video_4()));
????menu4->addAction(“通道5-通道8“?this?SLOT(show_video_4()));
????menu4->addAction(“通道9-通道12“?this?SLOT(show_video_4()));
????menu4->addAction(“通道13-通道16“?this?SLOT(show_video_4()));
????QMenu?*menu6?=?videoMenu->addMenu(“切換到6畫面“);
????menu6->addAction(“通道1-通道6“?this?SLOT(show_video_6()));
????menu6->addAction(“通道6-通道11“?this?SLOT(show_video_6()));
????menu6->addAction(“通道11-通道16“?this?SLOT(show_video_6()));
????QMenu?*menu8?=?videoMenu->addMenu(“切換到8畫面“);
????menu8->addAction(“通道1-通道8“?this?SLOT(show_video_8()));
????menu8->addAction(“通道9-通道16“?this?SLOT(show_video_8()));
????QMenu?*menu9?=?videoMenu->addMenu(“切換到9畫面“);
????menu9->addAction(“通道1-通
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-01?14:16??video_splite\
?????文件????????4851??2018-04-27?11:31??video_splite\bg_novideo.png
?????文件???????10879??2018-05-01?13:57??video_splite\frmmain.cpp
?????文件????????1141??2018-04-30?19:10??video_splite\frmmain.h
?????文件????????1614??2018-05-01?13:58??video_splite\frmmain.ui
?????文件?????????745??2018-05-01?13:57??video_splite\main.cpp
?????文件??????????98??2018-04-28?13:26??video_splite\main.qrc
?????目錄???????????0??2018-04-30?19:15??video_splite\snap\
?????文件???????54226??2018-04-30?19:14??video_splite\snap\QQ截圖20180430191412.png
?????文件???????43252??2018-04-30?19:14??video_splite\snap\QQ截圖20180430191420.png
?????文件???????50975??2018-04-30?19:14??video_splite\snap\QQ截圖20180430191429.png
?????文件???????56021??2018-04-30?19:14??video_splite\snap\QQ截圖20180430191440.png
?????文件???????50772??2018-04-30?19:14??video_splite\snap\QQ截圖20180430191448.png
?????文件???????29113??2018-04-30?19:15??video_splite\snap\QQ截圖20180430191527.png
?????文件?????????610??2018-05-01?13:53??video_splite\video_splite.pro
評(píng)論
共有 條評(píng)論