树状列表右击事件(添加 删除 修改等操作)
思路:首先我们需要一个void contextMenuEvent(QContextMenuEvent * event); 管理Menu事件的一个接口 此接口为系统自带的,不需要人为的去调用,接着初始化菜单,把菜单放入到void contextMenuEvent(QContextMenuEvent * event);这个接口当中。
初始化菜单
其次创建一个初始化菜单的接口 在此 我们命名为InitPopMenu() 这里的初始化菜单接口名可以进行修改,我们在InitPopMenu()中实现树状节点挂载的Action的初始化以及信号槽的绑定,相应代码如下:
void Ym_DlgXmlDemo::InitPopMenu()
{
menu = new QMenu(this);
// 未用菜单
QAction *pAdd = new QAction(tr("Add"),this);
QAction *pShow = new QAction(tr("Show"),this);
QAction *pDelete = new QAction(tr("Delete"),this);
menu->addAction(pAdd);
menu->addAction(pShow);
menu->addAction(pDelete);
// 绑定右击事件的信号槽 点击动作应当为 SIGAL(triggered())
}
把菜单放入到contextMenuEvent(QContextMenuEvent *event)
void Ym_DlgXmlDemo::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *pPopMenu = NULL;
pPopMenu = menu;
pPopMenu->exec(QCursor::pos());
event->accept();
}
完成绑定,树状列表右击效果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!