python - PyQt- 哪一列获得了右键单击?

标签 python pyqt

我有一个水平标题,我将其设置为捕捉右键单击,如下所示:

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

我想知道右键单击的是标题的哪一列。我可以通过 self.horizo​​ntalHeader.viewport() 获取位置,但我被困在那里。将标题中的位置转换为标题表中的位置似乎不够优雅。有没有更好的方法来捕获右键点击,或者有更好的方法来找到点击的位置?

最佳答案

logicalindexAt将返回列号,如果它是水平标题:

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

关于python - PyQt- 哪一列获得了右键单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791808/

相关文章:

python - Cython 中用于循环调用的快速基本线性代数

python - python新手--面向对象编程的问题

multithreading - 在 QThread.exit() 上立即停止处理事件队列

python - 绘制 PyQt 小部件背景时出现意外消息

python - 如何在 pyinstaller 中添加静态(html、css、js 等)文件以创建独立的 exe 文件?

python - QPushButton FocusIn 产生哪个信号?

python - OpenCV - 使用凸包和自适应阈值在手指上绘制轮廓

python - 如何在 Django 中每天准确执行一次命令?

python - 无法使用 Anaconda 3.4.8 安装软件包

python - PyQt QListWidget 自定义项