【发布时间】:2018-06-11 09:16:47
【问题描述】:
正如我们在this similar question 中看到的,使用view->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel) 可以平滑QTableWidget 的滚动,当我拖动滚动条并四处移动时,这非常有效。
我在这里想要实现的是,当我转动鼠标滚轮时,QTableWidget 会平滑滚动几行。我不是在寻找setSingleStep() 函数,它会导致滚动非常缓慢,而是真的像在我的网络浏览器中滚动网页一样平滑地滚动我的 QTableWidget 几行。
我想我可以通过making a custom WheelEvent 做到这一点,但对于我在这里想要实现的目标来说似乎需要做很多工作。所以我想确定我不是要重新发明(鼠标)轮子。
是否有一个简单的解决方案(如我上面链接的问题的答案)我错过了实现我想要做的事情?
如果不是,自定义 WheelEvent 是否是正确的方法?
如果不是,那正确的方法是什么?
如果重要的话,我正在使用 Qt Creator 4.6 和 Qt 5.11
【问题讨论】: