• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
QinXian
博客园    首页    新随笔    联系   管理    订阅  订阅
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();

 

}

 

 

 

完成绑定,树状列表右击效果如下:

 

 

 

posted on 2022-12-14 14:04  蜕变-专一  阅读(238)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3