PyQt-哪一列收到了右键单击?

时间:2012-01-09 16:35:42

标签: python pyqt

我有一个水平标题,我设置它以捕捉正确的点击次数:

self.horizontalHeader.setContextMenuPolicy(Qt.CustomContextMenu)
self.horizontalHeader.customContextMenuRequested.connect(self.callFilter)

我想知道右键单击标题的哪一列。我可以通过self.horizontalHeader.viewport()获得排名,但我已经被困在那里了。将标题中的位置转换为标题表中的位置似乎不够优雅。有没有更好的方法来捕获正确的点击,或更好的方法来找到它的位置?

1 个答案:

答案 0 :(得分:2)

logicalindexAt将返回列号,以防它是水平标题:

def callFilter(self, pos):
    column = self.horizontalHeader.logicalIndexAt(pos)