QTreewidget树状列表右击事件
树状列表右击事件(添加 删除 修改等操作)
思路:首先我们需要一个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();
}
完成绑定,树状列表右击效果如下:
最新文章
- React Native props &; state
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
- tornado中self.write() 写list
- 无法打开包括文件:“windows.h”: No such file or directory
- java多线程(三)——锁机制synchronized(同步语句块)
- 数据结构中的堆棧在C#中的实现
- USB CDC类
- JavaScript- The Good Parts Chapter 6
- 手机端MVC-js框架-Gillie-中文版本
- #include";*.c"; 文件问题
- 神奇的魔法数字0x61c88647
- ios 个推推送集成
- css实现梯形(各种形状)的网页布局——transform的妙用
- 实现去哪儿来回机票选择的view
- php中把美国时间转为北京时间的自定义
- Spring Cloud的小改进(五)
- 最详细的Vuex教程
- 基于Verilog的按键检测实验
- Linux设备驱动之Ioctl控制【转】
- 九度OJ-1131-合唱排队-双向递增子序列