qListwidget滚动条自动横向滚动
时间: 2023-07-20 11:39:28 浏览: 198
如果你希望QListWidget在添加新的项时自动横向滚动,你可以通过连接QListWidget的itemChanged信号来实现。当新的项被添加时,itemChanged信号会被发射,然后你可以使用scrollToItem()方法将列表滚动到最右边的项。
以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem
app = QApplication([])
# 创建QListWidget对象
list_widget = QListWidget()
# 启用水平滚动条
list_widget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
# 连接itemChanged信号到on_item_changed槽函数
list_widget.itemChanged.connect(lambda: list_widget.scrollToItem(list_widget.item(list_widget.count() - 1)))
# 添加一些列表项
for i in range(100):
item = QListWidgetItem(f"Item {i}")
list_widget.addItem(item)
# 显示列表
list_widget.show()
app.exec_()
```
在这个示例中,我们创建了一个QListWidget对象,并且通过设置horizontalScrollBarPolicy属性启用了水平滚动条。然后我们连接了itemChanged信号到on_item_changed槽函数,这个槽函数会将列表滚动到最右边的项。最后我们添加了100个列表项,并且显示了列表,运行程序后你应该可以看到每次添加一个新的项时,列表都会自动向右滚动。
阅读全文