Bonjour,
Comment pourrais-je insérer un menu contextuel qui apparait uniquement lorsque je sélectionne une ligne de mon QTableWidget "QTableWidgetItem"?
Avec le code suivant le menu contextuel apparaît n'importe où je clique avec la droite sur la QTableWidget.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
uiNode.tableWidget_Backup->setContextMenuPolicy(Qt::CustomContextMenu);
    connect(uiNode.tableWidget_Backup,
            SIGNAL(customContextMenuRequested(const QPoint&)), this,
            SLOT(ShowContextMenu(const QPoint&)));
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
21
22
23
24
25
	if (uiNode.tableWidget_Backup->selectionModel()->hasSelection()) {
		QMenu menuBackup(tr("Menu contextuel pour les sauvegardes"), this);
 
		QAction *actExport = new QAction(this);
		actExport->setText(tr("Exporter"));
		QIcon iconExport;
		iconExport.addPixmap(QPixmap(QString::fromUtf8(":/Images/Export.png")),
				QIcon::Selected, QIcon::On);
		actExport->setIcon(iconExport);
		menuBackup.addAction(actExport);
		connect(actExport, SIGNAL(triggered()), this, SLOT(ExportBackup()));
		menuBackup.addSeparator();
 
		QAction *actRestore = new QAction(this);
		actRestore->setText(tr("Restaurer"));
		QIcon iconRestore;
		iconRestore.addPixmap(
				QPixmap(QString::fromUtf8(":/Images/update.png")),
				QIcon::Selected, QIcon::On);
		actRestore->setIcon(iconRestore);
		menuBackup.addAction(actRestore);
		connect(actRestore, SIGNAL(triggered()), this, SLOT(RestoreBackup()));
 
		menuBackup.exec(uiNode.tableWidget_Backup->mapToGlobal(pnt));
	}