Je voudrais implémenter un menu contextuel personnalisé dans un QFileDialog. Dans le code ci-dessous, j'ai réussi à créer un menu contextuel à la fenêtre principale, mais je voudrais que le menu s'affiche lorsqu'un fichier est sélectionné: comment connaître le bon widget dans le QFileDialog Je devrais appliquer setContextMenuPolicy
?menu contextuel dans QFileDialog
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
self.myFileDialog = QFileDialog()
self.myFileDialog.setContextMenuPolicy(Qt.CustomContextMenu)
self.myFileDialog.customContextMenuRequested.connect(self.openMenu)
layout = QVBoxLayout()
layout.addWidget(self.myFileDialog)
self.setLayout(layout)
self.action_perso = QAction("MyOwnMenu", self)
self.connect(self.action_perso, SIGNAL("triggered()"), self.test)
def openMenu(self, position):
menu = QMenu()
menu.addAction(self.action_perso)
menu.exec_(self.myFileDialog.mapToGlobal(position))
def test(self):
print("coucou")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())