1 Star 0 Fork 1

aaabackup/lua-engine

forked from THEWON/lua-engine 
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
contextmenu.cpp 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
THEWON 提交于 2024-10-30 11:36 +08:00 . v1.0
#include "contextmenu.h"
#include <QMouseEvent>
#include <QDebug>
ContextMenu::ContextMenu(QWidget *parent) :
QMenu(parent),
m_contextMenu(new QMenu(this)),
m_delAct(new QAction(this)),
m_actsList(new QList<QAction*>),
m_subMenuActived(false)
{
m_contextMenu->addAction(m_delAct);
connect(m_contextMenu, SIGNAL(triggered(QAction*)), this, SLOT(removeCurrAct(QAction *)));
}
void ContextMenu::removeCurrAct(QAction *act)
{
if(act == m_delAct){
emit removeItem(m_curAct);
}
}
void ContextMenu::addSubMenuActsFilter(QAction *act)
{
m_actsList->append(act);
}
void ContextMenu::addSubMenuActsFilter(QList<QAction*> *actList)
{
m_actsList->append(*actList);
}
void ContextMenu::clearSubMenuActsFilter()
{
m_actsList->clear();
}
void ContextMenu::mouseReleaseEvent(QMouseEvent *e)
{
if(Qt::RightButton == e->button() && !m_subMenuActived){
m_subMenuActived = true;
m_curAct = this->activeAction();
if(m_curAct){
if(m_actsList->contains(m_curAct)){
QString actText = m_curAct->text();
m_delAct->setText(QString("Del %1").arg(actText));
m_contextMenu->exec(QCursor::pos());
}
else{
QMenu::mouseReleaseEvent(e);
}
}
m_subMenuActived = false;
}
else{
QMenu::mouseReleaseEvent(e);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/aaabackup/lua-engine.git
git@gitee.com:aaabackup/lua-engine.git
aaabackup
lua-engine
lua-engine
master

搜索帮助