2012-02-22 13 views
1

私はQTreeWidgetツリーの各項目を右クリックした後に起動しますコンテキストメニューを作成するために管理:Qt 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())); 

私の意図は、ツリー内の別の下に新しいアイテムを追加したり、右クリックしてそれらを削除することですこのコンテキストメニューを使用する特定の項目

しかし、私はどのように右クリックが行われたツリーの正確な項目でハンドラから実現するか分からない。

私にヒントを教えてください。

ありがとうございます!

答えて

2

TreeWidgetの選択動作を変更したり、現在のアイテムを自分で設定したりしない場合は、ネイティブの動作のみを使用できます。ツリーを要求するコンテキストメニューが、右クリックが実行された項目、すなわちcurrentItemを選択している間、したがって、addElementHandlerスロットののcurrentItem()は、あなたに必要な正確なアイテムを提供します。

+0

ありがとうございますmilyaaf! – Fracu

関連する問題