摆脱 QListWidget 底部的空白区域

Getting rid of blank area at the bottom of a QListWidget

我将 QListWidgetsetItemWidget 一起使用,当将项目添加到列表并向下滚动到底部时,我得到以下结果:

所以底部有一个完全空白的区域(不可选择,在上图中列表中的最后一项已被选中)

如何去掉列表底部的空白区域?

请注意,列表中行的高度可以不同

感谢您的帮助和亲切的问候, 托德

我正在使用完全相同的方法,我通过创建一个包含我的 QListWidget 的小部件并使用 :

来摆脱空白区域
listwidget.setFixedSize(widget.width(), listwidget.sizeHintForRow(0) * listwidget.count() + 2 * listwidget.frameWidth())

listwidget是你QListWidget对象

widget 是包含您的 QListWidget 对象的小部件

可以通过对 QListWidget 使用 setVerticalScrollMode 来更改为列表完成的垂直滚动类型,以便滚动完成 per pixel(而不是默认的 per item):

self.list_widget.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)

结果是QListWidget框的top-most部分的行只能部分绘制,这反过来意味着每一项滚动时存在的空白区域将消失:

参考文档: https://doc.qt.io/qt-5/qabstractitemview.html#verticalScrollMode-prop