我用QTableView
编写了一个PyQt应用程序,该应用程序应插入一个新列以响应左键单击并删除一列以响应鼠标右键单击其单元格。
我应该将处理程序连接到哪个信号?如果我使用QAbstractItemView.clicked,我可以接收列的索引,但无法确定鼠标按钮,因为它没有收到事件。
另一方面,如果我使用QAbstractScrollArea.mousePressEvent,我可以获得event.button()
,但目前尚不清楚,如何恢复单元格的索引。
有点提醒薛定谔这里的不确定性:)
答案 0 :(得分:1)
您可以使用QApplication.mouseButtons获取鼠标按钮的状态:
buttons = QtGui.qApp.mouseButtons()
使用mousePressEvent
,您可以使用QAbstractItemView.indexAt获取索引:
index = tableview.indexAt(event.pos())