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

    }

    }

    `

相关推荐
机器视觉知识推荐、就业指导14 分钟前
Qt 小技巧:如何用 Q_PROPERTY 管理属性
服务器·数据库·qt
比奇堡派星星27 分钟前
Linux OOM Killer
linux·开发语言·arm开发·驱动开发
hqwest38 分钟前
码上通QT实战11--监控页面03-绘制湿度盘和亮度盘
开发语言·qt·绘图·自定义组件·部件·qpainter·温度盘
张心独酌42 分钟前
Rust开发案例库-静态服务器
服务器·开发语言·rust
起个名字费劲死了43 分钟前
QT + Socket 客户端/服务端 公网通讯
服务器·c++·qt·socket
做萤石二次开发的哈哈1 小时前
萤石开放平台 萤石可编程设备 | 设备 Python SDK 使用说明
开发语言·网络·python·php·萤石云·萤石
子有内涵1 小时前
【C++】红黑树实现
开发语言
降临-max1 小时前
JavaWeb企业级开发---Mybatis
java·开发语言·笔记·学习·mybatis
bing.shao1 小时前
golang 做AI任务链的优势和场景
开发语言·人工智能·golang
我是一只小青蛙8881 小时前
位图与布隆过滤器:高效数据结构解析
开发语言·c++·算法