Qt QTreeWidget上下文菜单:在另一个删除项目下添加项目。

时间:2012-02-22 01:15:31

标签: qt qtreewidget

我设法创建了一个上下文菜单,在右键单击QTreeWidget树的每个项目后激活该菜单:

contextMenu = new QMenu(ui->treeWidget);
ui->treeWidget->setContextMenuPolicy(Qt::ActionsContextMenu);

addElement = new QAction("Add Element",contextMenu);
deleteElement = new QAction("Delete Element",contextMenu);

ui->treeWidget->addAction(addElement);
ui->treeWidget->addAction(deleteElement);

connect(addElement,    SIGNAL(triggered()), this, SLOT(addElementHandler()));
connect(deleteElement, SIGNAL(triggered()), this, SLOT(deleteElementHandler()));

我的目的是在树中的另一个下添加新项目,或者使用此上下文菜单右键单击特定项目来删除它们。

但是我不确定如何从处理程序中实现右键单击的确切树的哪个项目。

你能告诉我一个线索吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果您不打算更改TreeWidget选择行为或自己设置当前项 - 您可以只使用本机行为。请求树的上下文菜单选择执行右键单击的项目,即 currentItem 。因此,在addElementHandler插槽中, currentItem()将为您提供所需的确切项目。