Example Tree View:
1. a
1.1. b
1.1.1. c
I want to know how I can make my code recognize I right clicked whether a or b or c. I am able to create a TreeView, add a b c to it, and get the item at the position of the right click but I don't know how I can recognize the item so right clicks would create different context menus respecting the item clicked. I use standard item model (QStandardItemModel
) and so far what I got is:
void MyWindow::make_tree_custom_menu(const QPoint& pos){
QModelIndex index = treeView->indexAt(pos);
int itemRow = index.row();
int itemCol = index.column();
QStandardItem* itemAtPos = model->item(itemRow, itemCol);
itemAtPos->setText("meh");
}
I know that with QTreeWidgetItem
s you can do QTreeWidgetItem* newitem = new QTreeWidgetItem(name, itemtype);
but as far as I could see in the docs, QStandardItem
doesn't have such constructor. Also, I know that this exists, but it is unanswered. Therefore, I would like any help on possible methods to identify tree view items in such an application.