QListWidget设置QAbstractItemView::ScrollPerPixel后,当QListWidgetItem显示不全时点击QListWidgetItem导致滑动条滑动问题
上图是点击前,下图是点击后,有什么办法可以让点击后滑动条不滑动么。
QListWidget设置QAbstractItemView::ScrollPerPixel后,当QListWidgetItem显示不全时点击QListWidgetItem导致滑动条滑动问题
上图是点击前,下图是点击后,有什么办法可以让点击后滑动条不滑动么。
回答不易,求求您采纳点赞哦
QListWidget 和 QListWidgetItem 遇到的问题可能是由于 QAbstractItemView::ScrollPerPixel 属性设置为 true 引起的。此属性启用基于像素的滚动,如果项目未完全显示,则单击该项目时可能会导致滑块滑动。
为了防止点击部分显示的QListWidgetItem后滑块滑动,可以尝试以下解决方案:
将 QAbstractItemView::ScrollPerPixel 属性设置为 false。这将禁用基于像素的滚动并可能阻止滑块滑动。
覆盖 QListWidget 的 mousePressEvent 方法并检查单击的项目是否部分可见,如果部分可见,请使用 scrollToItem 方法将项目滚动到视图中,然后再发出单击信号。
使用 QAbstractItemView 子类并覆盖 scrollTo 方法,这将防止在项目部分可见时发生滚动。
您还可以使用 QListView 而不是 QListWidget,并将“移动”属性设置为“静态”
值得注意的是,该问题也可能是由其他因素引起的,例如如果项目在屏幕上不完全可见,则可能会导致单击时滚动。
测试上述建议并查看哪一个最适合您的特定用例非常重要,因为解决方案将取决于您的应用程序的具体实现。