摆脱QListWidget底部的空白区域

时间:2017-01-24 11:50:08

标签: qt pyqt qt5 pyqt5 qlistwidget

我正在QListWidget使用setItemWidget,在向列表中添加项目并向下滚动到底部时,我得到了以下结果:

enter image description here

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

如何清除列表底部的空白区域?

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

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

2 个答案:

答案 0 :(得分:3)

可以使用setVerticalScrollMode QListWidget来更改列表的垂直滚动类型,以便滚动完成 每个像素 < / strong>(而不是每个项目这是默认值):

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

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

enter image description here

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

答案 1 :(得分:1)

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

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

listwidget是你QListWidget对象

widget是包含QListWidget对象

的小部件