在QTableWidget
中滚动时是否有“滚动释放”信号?
这个想法是,为了显示巨大的表,让用户上下滚动,当滚动停止时,在窗口中显示可见的行。
窗口中可见的第一行很容易捕获。
我只需要知道如何在滚动停止时捕获事件。
答案 0 :(得分:2)
你可以捕捉鼠标按钮释放,但是如果你用鼠标滚轮滚动你的桌子就没有"滚动释放"因为你做的每一个动作都会发出信号。
我建议过滤鼠标滚轮并使用户只能在滚动条上使用鼠标左键。
有关重新实施eventFilter
的更多信息,您可以找到here,但由于您在此处使用Python是我使用自定义eventFilter
的示例(为我的{{1}重新实现})阻止组合框上的滚轮并在表格上单击鼠标:
QMainWindow
这是如何设置过滤器:
def eventFilter(self,target,event):
if target == self.__ui.comboBox:
if(event.type()== QtCore.QEvent.Wheel):#block wheel on combobox
return True
elif target == self.__ui.tableWidget.viewport():
if(event.type()== QtCore.QEvent.MouseButtonDblClick):#block MouseButtonDblClick in table
return True
if(event.type()== QtCore.QEvent.MouseButtonRelease):#block MouseButtonRelease in table
return True
return False