J'essaie d'ajouter un menu contextuel (clic droit) à un Qt QListView. Je vois dans Qt 3.3 il y a "contextMenuRequested" (que je pourrais utiliser) - http://doc.qt.digia.com/3.3/qlistview.html#contextMenuRequested. Cependant, je ne peux pas voir une telle méthode dans Qt4. Est-ce que quelqu'un sait comment ajouter un menu contextuel à un QListView?Qt QListView - menus contextuels?
Répondre
Je ne sais pas pourquoi le signal a été supprimé mais il est encore un QWidget
de sorte que vous pouvez toujours passer outre
void QWidget::contextMenuEvent (QContextMenuEvent*);
ou
void QWidget::customContextMenuRequested(const QPoint& pos);
selon votre paramètre de stratégie de menu contextuel pour le widget .
Je ne sais pas ce que vous essayez d'accomplir, mais vous pouvez facilement ajouter un menu contextuel à un widget en appelant QWidget::AddAction(QAction*)
avec les actions que vous souhaitez ajouter à votre menu contextuel et le réglage de la politique de menu contextuel
widget->setContextMenuPolicy(Qt::ActionsContextMenu);
le widget préparera et afficher le menu contextuel, tout ce que vous devez faire est de brancher les actions triggered()
signaux aux gestionnaires appropriés
Selon la façon dont vous avez configuré le ContextMenuPolicy dans le QWidget
vous avez quelques options Si vous l'avez défini sur Qt::DefaultContextMenu
, remplacez simplement la fonction protégée contextMenuEvent(QContextMenuEvent*)
par QWidget
. Je crois que c'est le défaut.
Si vous l'avez défini sur Qt::ActionsContextMenu
, ajoutez simplement toutes vos actions à votre widget et laissez le système Qt gérer le menu contextuel.
Si vous l'avez défini sur Qt::CustomContextMenu
, vous devez vous connecter au signal customContextMenuRequested()
et implémenter votre propre gestionnaire de menu contextuel.
Ceci est documenté dans la documentation ContextMenuPolicy disponible en ligne.
liens mis à jour à la description contextMenuPolicy: [QT5] (http://doc.qt.io/qt-5/qwidget.html#contextMenuPolicy-prop) et [qt4] (http://doc.qt.io/qt-4.8/qwidget.html#contextMenuPolicy-prop) – avtomaton
- 1. Menus contextuels - Java ME
- 2. Menus contextuels GLUT
- 3. Comment créer plusieurs menus contextuels?
- 4. Menus contextuels VSTO et Outlook 2003
- 5. Ajout de menus contextuels aux contrôleurs codeigniter
- 6. Définition des menus contextuels pour WPF listviews
- 7. WxPython, menus contextuels, rappels et Windows XP
- 8. Menus contextuels et NavigateTo dans Blend/SketchFlow
- 9. Jongler avec plusieurs menus contextuels dans .toggle
- 10. Qt et menus natifs
- 11. android - éléments de la liste ouvrir les menus contextuels
- 12. Utilisation des menus contextuels de l'Explorateur Windows dans WPF
- 13. Android: Problème avec l'utilisation de plusieurs menus contextuels
- 14. Tutoriel Snow Leopard Services pour les menus contextuels
- 15. Exemples de menus contextuels ne nécessitant pas un clic droit
- 16. Qt Jambi: QAbstractListModel ne pas afficher dans QListView
- 17. Utilisation de menus contextuels sur des liens hypertexte dans un document de flux
- 18. existe-t-il une règle sur les meilleures pratiques d'imbrication des menus contextuels?
- 19. Différents menus contextuels pour différentes modifications de zone de texte, possibles?
- 20. Méthode recommandée pour le mélange des menus contextuels .NET et des fichiers
- 21. (Rails) Comment imiter les vues Finder/Explorer avec des menus contextuels, etc.?
- 22. Visual Studio 2010 se bloque et ne peut pas personnaliser les menus contextuels
- 23. Impossible d'identifier les objets de document pour les menus contextuels dans les listes SharePoint
- 24. Pourquoi la vue expandelistable ne fonctionnera-t-elle pas avec les menus contextuels?
- 25. Supprimer une liste d'éléments sélectionnés dans QListView
- 26. Python Qlistview sortie dir
- 27. Services Web contextuels
- 28. Menus et sous-menus Problème?
- 29. Utiliser QListView ou similaire de manière efficace dans Qt4
- 30. Comment les options sont-elles ajoutées aux menus contextuels de l'explorateur Windows en utilisant C ou C++?
customContextMenuRequested() est un signal, pas une fonction Overridable –