首页| 论坛| 消息
主题:QT开发之旅五视频监管平台(开源)
回帖:10:鼠标右键菜单及二级菜单处理。

void frmMain::InitVideo()
{
tempLab = 0;
video_max = false;

VideoLab.append(ui->labVideo1);
VideoLab.append(ui->labVideo2);
VideoLab.append(ui->labVideo3);
VideoLab.append(ui->labVideo4);
VideoLab.append(ui->labVideo5);
VideoLab.append(ui->labVideo6);
VideoLab.append(ui->labVideo7);
VideoLab.append(ui->labVideo8);
VideoLab.append(ui->labVideo9);
VideoLab.append(ui->labVideo10);
VideoLab.append(ui->labVideo11);
VideoLab.append(ui->labVideo12);
VideoLab.append(ui->labVideo13);
VideoLab.append(ui->labVideo14);
VideoLab.append(ui->labVideo15);
VideoLab.append(ui->labVideo16);

VideoLay.append(ui->lay1);
VideoLay.append(ui->lay2);
VideoLay.append(ui->lay3);
VideoLay.append(ui->lay4);

for (int i = 0; i < 16; i++) {
VideoLab->installEventFilter(this);
VideoLab->setProperty("labVideo", true);
VideoLab->setText(QString("通道%1").arg(i + 1));
}

menu = new QMenu(this);
menu->setStyleSheet("font: 10pt \"微软雅黑\";");
menu->addAction("删除当前视频", this, SLOT(delete_video_one()));
menu->addAction("删除所有视频", this, SLOT(delete_video_all()));
menu->addSeparator();
menu->addAction("截图当前视频", this, SLOT(snapshot_video_one()));
menu->addAction("截图所有视频", this, SLOT(snapshot_video_all()));
menu->addSeparator();

QMenu *menu1 = menu->addMenu("切换到1画面");
menu1->addAction("通道1", this, SLOT(show_video_1()));
menu1->addAction("通道2", this, SLOT(show_video_1()));
menu1->addAction("通道3", this, SLOT(show_video_1()));
menu1->addAction("通道4", this, SLOT(show_video_1()));
menu1->addAction("通道5", this, SLOT(show_video_1()));
menu1->addAction("通道6", this, SLOT(show_video_1()));
menu1->addAction("通道7", this, SLOT(show_video_1()));
menu1->addAction("通道8", this, SLOT(show_video_1()));
menu1->addAction("通道9", this, SLOT(show_video_1()));
menu1->addAction("通道10", this, SLOT(show_video_1()));
menu1->addAction("通道11", this, SLOT(show_video_1()));
menu1->addAction("通道12", this, SLOT(show_video_1()));
menu1->addAction("通道13", this, SLOT(show_video_1()));
menu1->addAction("通道14", this, SLOT(show_video_1()));
menu1->addAction("通道15", this, SLOT(show_video_1()));
menu1->addAction("通道16", this, SLOT(show_video_1()));

QMenu *menu4 = menu->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 *menu9 = menu->addMenu("切换到9画面");
menu9->addAction("通道1-通道9", this, SLOT(show_video_9()));
menu9->addAction("通道8-通道16", this, SLOT(show_video_9()));

menu->addAction("切换到16画面", this, SLOT(show_video_16()));
}

11:QTableView列宽自动计算按比例分配,按照分辨率比例显示字段,适用任何分辨率电脑。
void frmPollConfig::InitForm()
{
ui->treeMain->header()->setVisible(false);
ui->treeMain->setEditTriggers(QAbstractItemView::NoEditTriggers);

//最后一列自动填充
ui->tableMain->horizontalHeader()->setStretchLastSection(true);
//奇数偶数行不同背景色
ui->tableMain->setAlternatingRowColors(true);
//选中整行,每次只允许选中一行
ui->tableMain->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableMain->setSelectionMode(QAbstractItemView::SingleSelection);

queryModule = new QSq

浏览大图


浏览大图


浏览大图


浏览大图


浏览大图

下一页 (1/4)
下一楼›:楼主,牛人啊。开源自己的项目可喜可贺啊

查看全部回帖(98)
«返回主帖