[Interest] QTreeView and context menu
clement.geiger at gmail.com
Thu Feb 27 14:57:05 CET 2014
You can use the contextMenuPolicy Qt::CustomContextMenu. In that case, when
your QTreeView receives a right-click, it sends a signal
contextMenuRequested(QPoint) that you can connect to a slot. In that slot,
you are able to know which item has been clicked through
QTreeView::indexAt(QPoint). You can then compose your context menu (use
QMenu) as needed, and show it with QMenu::exec().
If you already subclassed QTreeView for a reason or another, there is
another way: leave the contextMenuPolicy as is and reimplement the
contextMenuEvent method. From there on it's the same as with the 1st method
(retrieve clicked index, compose menu and execute it).
2014-02-27 9:09 GMT+01:00 Graham Labdon <Graham.Labdon at avalonsciences.com>:
> I have developed a class derived from QAbstractItemModel and am using it
> to display data in a QTreeView.
> I want to display a context menu when the user right clicks on an item in
> the tree. The contents of this menu are dependent on which item in the tree
> has bee clicked and the result of the click will result in an additional
> row being inserted into the model.
> I would be grateful of some guidance of how to achieve this.
> Interest mailing list
> Interest at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest