QT中treewidget中右键添加QAction方法

  1. `void MainDispWindow::onHeaderRightClicked(const QPoint &pos)

    {

    QHeaderView *h = ui->tree_Equip->header();

    int col = h->logicalIndexAt(pos); // 点的是哪一列

    if (col == -1) return; // 空白处

    QMenu menu;

    QAction *addEquip = menu.addAction("添加设备");

    QAction *selected = menu.exec(h->mapToGlobal(pos));

    if (selected == addEquip)

    {

    QTimer::singleShot(0, this, this{ m_IPChangeDialog->show(); });

    }

    }`

  2. `void MainDispWindow::on_tree_Equip_customContextMenuRequested(const QPoint &pos)

    {

    QTreeWidgetItem *item = ui->tree_Equip->itemAt(pos);

    if (!item) return; // 空白处右键直接忽略

    QMenu menu;

    QAction *addEquip = menu.addAction("添加设备");

    QAction *selected = menu.exec(ui->tree_Equip->viewport()->mapToGlobal(pos));

    if (selected == addEquip) {

    复制代码
    QTimer::singleShot(0, this, [this]{ m_IPChangeDialog->show(); });

    }

    }

    `

相关推荐
2401_86976959几秒前
内容5 日期类实现
开发语言·c++
白露与泡影13 分钟前
2026秋招冲刺:1000道Java高频面试题(各大厂考点汇总)
java·开发语言·面试
IT龟苓膏17 分钟前
Java 并发基础:进程、线程、线程状态、synchronized、volatile 一篇讲清
java·开发语言·jvm
郝学胜-神的一滴21 分钟前
Python 高级编程 019:类变量与实例变量彻底解析
开发语言·python·程序人生·软件构建
Thomas_YXQ42 分钟前
Unity3D Addressable 深度优化热更性能消耗
开发语言·3d·unity·微信
aini_lovee1 小时前
C# 快递单打印系统(万能套打系统)
开发语言·c#
天启HTTP1 小时前
开启全局代理后网络变慢,问题出在哪
开发语言·前端·网络·tcp/ip·php
丑过三八线1 小时前
Runc 深度解析:从原理到实操
java·linux·开发语言·docker·容器·rpc
STDD1 小时前
ntfy 自托管推送通知服务搭建:一条 curl 命令向手机发送通知
java·开发语言·智能手机