2012-02-22 145 views
1

我设法创建一个大干快上一QTreeWidget树的每个项目右键点击后激活的上下文菜单:Qt QTreeWidget上下文菜单:在其他o删除项目下添加项目。

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

我的目的是要在树中增加新的项目下的另一种或右键点击删除使用此上下文菜单的特定项目。

但是,我不知道如何从处理程序中确切地知道哪个项目的树右键单击。

你能给我一个线索吗?

在此先感谢!

回答

2

如果你不打算改变TreeWidget的选择行为或者你自己设置当前的项目 - 你可以只使用本地行为。虽然请求树的上下文菜单选择执行了右键单击的项目,即currentItem。所以在addElementHandler插槽中,currentItem()会给你你想要的确切项目。

+0

谢谢你milyaaf! – Fracu 2012-03-12 22:59:08

相关问题