[Interest] QTreeView and context menu
Clément Geiger
clement.geiger at gmail.com
Thu Feb 27 14:57:05 CET 2014
Hello Graham,
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).
Cheers
Clément
2014-02-27 9:09 GMT+01:00 Graham Labdon <Graham.Labdon at avalonsciences.com>:
> Hi
> 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.
>
> Thanks
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140227/8c5a70a0/attachment.html>
More information about the Interest
mailing list