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

    }

    }

    `

相关推荐
HUST2 小时前
C 语言 第九讲:函数递归
c语言·开发语言·数据结构·算法·c#
CodeCraft Studio2 小时前
国产化Word处理控件Spire.Doc教程:使用C# 编程方式批量转换Word为RTF
开发语言·c#·word·spire.doc·word文档转换·word开发组件·word api库
CSDN_RTKLIB2 小时前
【类定义系列一】C++ 头文件 / 源文件分离
开发语言·c++
invicinble2 小时前
arthas
开发语言·python
lzjava20242 小时前
Python中的模块和包
linux·开发语言·python
卜锦元2 小时前
Golang后端性能优化手册(第二章:缓存策略与优化)
开发语言·数据库·后端·性能优化·golang
挖矿大亨2 小时前
c++中值传递时是如何触发拷贝构造函数的
开发语言·c++
郝亚军2 小时前
顺序栈C语言版本
c语言·开发语言·算法
成为大佬先秃头2 小时前
渐进式JavaScript框架:Vue
开发语言·javascript·vue.js