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

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);
});


http://www.kler.cn/a/576765.html

相关文章:

  • [数据抓取] Python 网络爬虫 - 学习手册
  • 无人机热点共享无线连接技术概述
  • docker和kubectl客户端安装Linux
  • 从零开始学C语言文件操作:理论与代码详解
  • 深入剖析顺序存储二叉树与线索化二叉树:数据结构的灵活转换与优化
  • Spring Boot MyBatis-Plus 构建查询对象进行分页查询
  • DeepSeek 医疗大模型微调实战讨论版(第一部分)
  • 数据结构--AVL树
  • hyperlane使用SSE实现服务端主动推送
  • git的坑
  • 【运维篇】KubeSphere-02(经验汇总)
  • 开启焊接设备安全管控新纪元
  • Flask项目框架
  • 手机屏幕摔不显示了,如何用其他屏幕临时显示,用来导出资料或者清理手机
  • Springboot 启动流程
  • uniapp+node+mysql接入deepseek实现流式输出
  • P8748 [蓝桥杯 2021 省 B] 时间显示
  • VS大型CPP项目调试,Debug模式,Release模式,附加到进程模式
  • app测试|面试常问工作常用的adb命令集
  • IBUF和BUFG