16,213
社区成员
发帖
与我相关
我的任务
分享
QMenu *popMenu =new QMenu(this);
QAction *play;
if(playorstop)//bool变量
{
play=popMenu->addAction(QString::fromUtf8("打开视频"));
play->setEnabled(true);
playorstop = false;
}
else
{
play=popMenu->addAction(QString::fromUtf8("关闭视频"));
play->setEnabled(false);
playorstop = true;
}
myact = ui->actionTest;
popMenu->addAction(ui->actionTest);
popMenu->exec(QCursor::pos());
void Label::contextMenuEvent( QContextMenuEvent *event ) //重写菜单事件
{
QString aliases=this->property("aliases").value<QString>(); //获取当前窗口的动态属性值
popMenu=new QMenu(this);
popMenu->clear();
if(!playorstop)
{
play=popMenu->addAction(QStringLiteral("打开视频"));
if (aliases.isEmpty())
{
//play->setEnabled(false);
play->setDisabled(true);
}
}
else
{
play=popMenu->addAction(QStringLiteral("关闭视频"));
if (aliases.isEmpty()) play->setEnabled(false);
}
if(!recordonoff)
{
record=popMenu->addAction(QStringLiteral("开始录像"));
if(aliases.isEmpty() || playorstop == false) record->setEnabled(false);
}
else
{
record=popMenu->addAction(QStringLiteral("停止录像"));
if(aliases.isEmpty() || playorstop == false) record->setEnabled(false);
}
snap=popMenu->addAction(QStringLiteral("截图"));
if(aliases.isEmpty() || playorstop == false) snap->setEnabled(false);
popMenu->addSeparator();
if(mutexonoff)
{
mutex=popMenu->addAction(QStringLiteral("关闭静音"));
if(aliases.isEmpty() || playorstop == false) mutex->setEnabled(false);
}
else
{
mutex=popMenu->addAction(QStringLiteral("静音"));
if(aliases.isEmpty() || playorstop == false) mutex->setEnabled(false);
}
//setmutex=popMenu->addAction(QStringLiteral("设置音量"));
popMenu->addSeparator();
if (!singlemultiplescreen)
{
singlescreen=popMenu->addAction(QStringLiteral("单画面"));
connect(singlescreen,SIGNAL(triggered(bool)),this,SLOT(LabelSingleScreenTrigger()));
}
else
{
multiplescreen=popMenu->addAction(QStringLiteral("四画面"));
connect(multiplescreen,SIGNAL(triggered(bool)),this,SLOT(LabelMultipleScreenTrigger()));
}
popMenu->addSeparator();
openvideofile=popMenu->addAction(QStringLiteral("打开录像文件夹"));
opensnapfile=popMenu->addAction(QStringLiteral("打开截图文件夹"));
popMenu->setStyleSheet("QMenu{background-color:rgb(255,255,255);color:rgb(0, 0, 0);font:10pt ""宋体"";}"
"QMenu::item:selected{background-color:#CCDAE7;}");
connect(play,SIGNAL(triggered(bool)),this,SLOT(LabelPlayTrigger()));
connect(record,SIGNAL(triggered(bool)),this,SLOT(LabelRecordTrigger()));
connect(snap,SIGNAL(triggered(bool)),this,SLOT(LabelSnapTrigger()));
connect(mutex,SIGNAL(triggered(bool)),this,SLOT(LabelMutexTrigger()));
connect(openvideofile,SIGNAL(triggered(bool)),this,SLOT(OpenVideoFileTrigger()));
connect(opensnapfile,SIGNAL(triggered(bool)),this,SLOT(OpenSnapFileTrigger()));
//connect(setmutex,SIGNAL(triggered(bool)),this,SLOT(LabelSetmutexTrigger()));
popMenu->exec(QCursor::pos()); //菜单出现在当前鼠标的位置
}
if (myact)
{
if(没在播放)
myact->setDisabled(true);
if(正在播放)
myact->setData(false);
}