当前位置: 首页 > news >正文

QTreeWidget指定子节点弹出菜单

方法:判断父对象

connect(ui->treeWidget_nav, &QTreeWidget::itemChanged, [=](QTreeWidgetItem *TWI){
    if (TWI->parent() == TWI_bookmark) {
        qDebug() << TWI->data(0, LOCATION_OF_REAL_PATH).toString() << TWI->text(0);
    }
});
ui->treeWidget_nav->setContextMenuPolicy(Qt::CustomContextMenu);
QMenu *menu_bookmark = new QMenu(ui->treeWidget_nav);
QAction *action_bookmark_rename = new QAction("重命名");
QAction *action_bookmark_move_up = new QAction("上移");
QAction *action_bookmark_move_down = new QAction("下移");
QAction *action_bookmark_delete = new QAction("删除");
menu_bookmark->addAction(action_bookmark_rename);
menu_bookmark->addAction(action_bookmark_move_up);
menu_bookmark->addAction(action_bookmark_move_down);
menu_bookmark->addAction(action_bookmark_delete);
connect(ui->treeWidget_nav, &QTreeWidget::customContextMenuRequested, [=](const QPoint &pos){
    QTreeWidgetItem *TWI = ui->treeWidget_nav->itemAt(pos);
    if (TWI->parent() == TWI_bookmark) {
        menu_bookmark->exec(ui->treeWidget_nav->mapToGlobal(pos));
    }
});
connect(action_bookmark_rename, &QAction::triggered, [=](){
    ui->treeWidget_nav->editItem(ui->treeWidget_nav->currentItem(), 0);
});

相关文章:

  • 【kubernetes】service
  • 第七课:Python反爬攻防战:Headers/IP代理与验证码
  • 【Gaussian Model】高斯分布模型
  • Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
  • 软件工程---构件
  • 最简单圆形进度条实现CSS+javascript,两端带圆弧
  • 《原型链的故事:JavaScript 对象模型的秘密》
  • Docker 部署 MongoDB 并持久化数据
  • Linux上位机开发(开篇)
  • golang从入门到做牛马:第二篇-go语言安装及开发环境配置
  • Nginx快速安装-Linux-CentOS7
  • 【A2DP】SBC 编解码器互操作性要求详解
  • 2025最新群智能优化算法:山羊优化算法(Goat Optimization Algorithm, GOA)求解23个经典函数测试集,MATLAB
  • BGP 基本配置实验
  • 在Windows 11的WSL中安装Kali Linux
  • Linux笔记---自定义shell
  • lvgl在ubuntu中模拟运行
  • 【商城实战(13)】购物车价格与数量的奥秘
  • 小程序 wxml 语法 —— 42 条件渲染
  • 【小技巧】百度网盘清除重复文件详细步骤
  • wordpress后台500错误/seo排名优化首页
  • php 网站版面素材/seo算法培训
  • 深圳疫情现在好像越来越严重/google搜索优化方法
  • 至尊传奇手游官方正版下载/娄底seo
  • 返利网站怎么做的/代写
  • 微网站开发平台 开源/域名停靠网页推广大全2023