【发布时间】:2017-06-09 05:05:24
【问题描述】:
我将QListWidget 与setItemWidget 一起使用,当将项目添加到列表并向下滚动到底部时,我得到了以下结果:
所以底部有一个完全空白的区域(不可选择,在上面的图像中,列表中的最后一项已被选中)
如何去掉列表底部的这个空白区域?
请注意,列表中的行高可以不同
感谢您的帮助和亲切的问候, 托德
【问题讨论】:
标签: qt pyqt qt5 pyqt5 qlistwidget
我将QListWidget 与setItemWidget 一起使用,当将项目添加到列表并向下滚动到底部时,我得到了以下结果:
所以底部有一个完全空白的区域(不可选择,在上面的图像中,列表中的最后一项已被选中)
如何去掉列表底部的这个空白区域?
请注意,列表中的行高可以不同
感谢您的帮助和亲切的问候, 托德
【问题讨论】:
标签: qt pyqt qt5 pyqt5 qlistwidget
我使用完全相同的方法,我通过创建一个包含我的 QListWidget 的小部件来摆脱空白区域并使用:
listwidget.setFixedSize(widget.width(), listwidget.sizeHintForRow(0) * listwidget.count() + 2 * listwidget.frameWidth())
listwidget是你QListWidget对象
widget 是包含您的QListWidget 对象的小部件
【讨论】:
可以通过将setVerticalScrollMode 用于QListWidget 来更改为列表完成的垂直滚动类型,以便滚动完成每个像素(而不是 per item 这是默认的):
self.list_widget.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
结果是 QListWidget 框最顶部的行只能部分绘制,这反过来意味着每个项目滚动时存在的空白区域将消失:
参考文档: https://doc.qt.io/qt-5/qabstractitemview.html#verticalScrollMode-prop
【讨论】:
QListWidget 中的项目数量是否存在一些性能问题?
QListView。