QTreeWidget添加右键菜单

1.设置QtreeWidget模式

ui.treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);

2.创建menu

m_menu = new QMenu(this);
m_action1 = new QAction(tr("计划1"), this);
m_action2 = new QAction(tr("计划2"), this);
m_menu->addAction(m_action1);
m_menu->addAction(m_action2);
connect(m_action1, &QAction::triggered, this, &MainWindow::slot_checkPlan1);
connect(m_action2, &QAction::triggered, this, &MainWindow::slot_checkPlan2);

3.显示menu

QTreeWidgetItem* curItem = ui.treeWidget->itemAt(pos);  //获取当前被点击的节点
if (curItem == NULL)return;           //这种情况是右键的位置不在treeItem的范围内,即在空白位置右击

m_sceneMenu->exec(QCursor::pos());

你可能感兴趣的:(Qt)