Menu contextuel apparait lors de sélection QTableWidgetItem
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:
1 2 3 4
| uiNode.tableWidget_Backup->setContextMenuPolicy(Qt::CustomContextMenu);
connect(uiNode.tableWidget_Backup,
SIGNAL(customContextMenuRequested(const QPoint&)), this,
SLOT(ShowContextMenu(const QPoint&))); |
Code:
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));
} |