右クリックするとQHeaderView内QTreeView
-
28-09-2019 - |
質問
長々と書きましたが、その子孫のQTreeView複数列あります。作りたいのポップアップメニューが表示される連絡、ユーザーを右クリックのカラムが含まれます。またシグナルを正しくとらえQTreeViewことがQTreeViewな光信号に含まれます。QTreeView.ヘッダ()。そうすることで、いかと思いなければならない:
1:接続のQHeaderViewの信号をポップアップ機能していを見つけることができず、信号機、シングルを右クリックしていましたsectionClicked,sectionHandleDoubleClicked,sectionDoubleClicked,sectionPressedない驚きのダブルクリック機能はなくシングルを右クリックがなくダブルを右クリック)
self.header().sectionClicked.connect(self.headerMenu)
self.header().sectionHandleDoubleClicked.connect(self.headerMenu)
self.header().sectionDoubleClicked.connect(self.headerMenu)
self.header().sectionPressed.connect(self.headerMenu)
または、
2:書くの子孫QHeaderView自分のMousePressEvent機能を使用するために私ンターフェースの通称です。いて成功をつなぐ新しいヘッダークラスのQTreeViewマです。今日のセグメンテーション層にランタイム時において、まったく無くなります。
#in DiceView's init, where DiceHeaders is the QHeaderView descendant
self.setHeader(DiceHeaders())
そのアイデア?
解決
また、setContextMenuPolicy機能:
self.header().setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.header().customContextMenuRequested.connect(self.headerMenu)
そして、headerMenu:
def headerMenu(self, pos):
globalPos = self.mapToGlobal(pos)
menu = QMenu()
menu.addAction("test item")
selectedItem = menu.exec_(globalPos)
if selectedItem:
print "selected: ", selectedItem
他のヒント
なったと思いソリューションn°2:記自分のクラスを継承QHeaderView.ご.さらpython/pyqtお金の上限だけでしょうね。することができるようになりまDiceHeadersオブジェクトが存在するを参照します。
所属していません StackOverflow