IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Ajouter un menu contextuel approprié à chaque QTreeWidgetItem


Sujet :

Qt

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut Ajouter un menu contextuel approprié à chaque QTreeWidgetItem
    Bonjour,
    Comment dois je faire pour obtenir pour chaque item de mon treewidget "xbelTree" un menu contextuel approprié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xbelTree->setContextMenuPolicy(Qt::CustomContextMenu);
    	connect(xbelTree, SIGNAL(customContextMenuRequested(const QPoint&)), this,
    			SLOT(ShowTreeContextMenu(const QPoint&)));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void ManagementConsoleView::ShowTreeContextMenu(const QPoint& pnt) {
    	QList<QAction *> actions;
    	if (xbelTree->indexAt(pnt).isValid()) {
    		actions.append(ui.actionActivate);
    		actions.append(ui.actionDeactivate);
    	}
    	if (actions.count() > 0)
    		QMenu::exec(actions, xbelTree->mapToGlobal(pnt));
    }
    Merci

  2. #2
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    J'ai essayé avec le code suivant mais le menu contextuel n'apparait pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    xbelTree->setContextMenuPolicy(Qt::CustomContextMenu);
    	connect(xbelTree,
    			SIGNAL(customContextMenuRequested(QContextMenuEvent *event)),
    			this, SLOT(ShowTreeItemContextMenu(QContextMenuEvent *event)));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    void ManagementConsoleView::ShowTreeItemContextMenu(QContextMenuEvent *event) {
    	QList<QTreeWidgetItem *> selection = xbelTree->selectedItems();
    	for (int i = 0; i < selection.size(); i++) {
    		if ((xbelTree->getSelectionName() == "Anti-virus")
    				|| (xbelTree->getSelectionName() == "DHCP")
    				|| (xbelTree->getSelectionName() == "DNS")
    				|| (xbelTree->getSelectionName() == "Pare-Feu")
    				|| (xbelTree->getSelectionName() == "Haute_disponibilite")
    				|| (xbelTree->getSelectionName() == "SDI")
    				|| (xbelTree->getSelectionName() == "LARTC")
    				|| (xbelTree->getSelectionName() == "Proxy_HTTP")
    				|| (xbelTree->getSelectionName() == "Proxy_Mailing")
    				|| (xbelTree->getSelectionName() == "RPV")) {
    			QMenu menu(xbelTree);
    			menu.addAction(ui.actionActivate);
    			menu.addAction(ui.actionDeactivate);
    			menu.exec(event->globalPos());
    		}
    	}
    }
    L'arreur peut etre provient de connect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    connect(xbelTree,
    			SIGNAL(customContextMenuRequested(QContextMenuEvent *event)),
    			this, SLOT(ShowTreeItemContextMenu(QContextMenuEvent *event)));

Discussions similaires

  1. Un menu contextuel pour chaque bouton
    Par khaled_bha dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 24/10/2011, 12h50
  2. [RCP] Ajouter un menu contextuel dans un wizard
    Par wacho dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 21/09/2010, 13h47
  3. Réponses: 3
    Dernier message: 19/03/2009, 14h59
  4. Ajouter un menu contextuel au bouton droit de la souris pour les textboxes
    Par LiNuXaDDiKt dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2008, 09h30
  5. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2004, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo