gpt4 book ai didi

python - 在 qtablewidget 中寻找信号

转载 作者:行者123 更新时间:2023-12-01 05:20:34 25 4
gpt4 key购买 nike

QTableWidget中滚动时是否有“滚动释放”信号?

这个想法是,为了显示巨大的表格,让用户上下滚动,并在滚动停止时在窗口中显示可见行。

窗口中可见的第一行很容易捕获。

我只需要知道如何在滚动停止时捕获事件。

最佳答案

您可以捕获鼠标按钮释放,但如果您使用鼠标滚轮滚动表格,则不会出现“滚动释放”,因为您所做的每个 Action 都会发出信号。我建议过滤鼠标滚轮并允许用户仅使用滚动条上的鼠标左键。有关重新实现 eventFilter 的更多信息,您可以找到 here ,但由于您使用的是 Python,这里是我使用自定义 eventFilter (为我的 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

这是如何设置过滤器:

self.__ui.comboBox.installEventFilter(self)
self.__ui.tableWidget.viewport().installEventFilter(self)

关于python - 在 qtablewidget 中寻找信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22480039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com