QFileDialogにカスタムコンテキストメニューを実装したいと思います。以下のコードでメインウィンドウのコンテキストメニューを作成しましたが、ファイルを選択するとメニューが表示されます:QFileDialogの右ウィジェットを知る方法setContextMenuPolicy
を適用する必要がありますか?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_())