我在 pyQt 中有一个带有单行选择集的 QTableWidget
。我正在连接 itemSelectionChanged
以调用我的行选择函数并对所选行执行操作。我还想检测用户何时在 QTableWidget
中进行选择,但选择了空白区域(未选择任何行),以便我可以取消选择任何选定的行。类似于“windows 资源管理器”处理文件选择的方式。
选择QTableWidget
中的空白区域时触发什么信号?如何实现?
最佳答案
检查鼠标按下事件以查看单击的项目是否为无
:
class Table(QtGui.QTableWidget):
def mousePressEvent(self, event):
if self.itemAt(event.pos()) is None:
self.clearSelection()
QtGui.QTableWidget.mousePressEvent(self, event)
或者如果你不能子类化,使用事件过滤器:
class Window(QtGui.QWidget):
def __init__(self):
...
self.table.viewport().installEventFilter(self)
def eventFilter(self, source, event):
if (event.type() == QtCore.QEvent.MouseButtonPress and
source is self.table.viewport() and
self.table.itemAt(event.pos()) is None):
self.table.clearSelection()
return QtGui.QWidget.eventFilter(self, source, event)
关于python - 选择无行时发出的 PyQt QTableWidget 信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397056/