【问题标题】:How to scroll QListWidget to selected item如何将 QListWidget 滚动到所选项目
【发布时间】:2017-05-21 22:32:07
【问题描述】:

下面的代码创建了一个带有QListWidgetQPushButton 的对话窗口。 单击该按钮会触发scroll() 函数,该函数会查找并选择“ITEM-0011”。

我想知道是否有办法滚动列表小部件,使选定的ITEM-0011 位于QListWidget 的顶部边缘?以下是最终结果的样子:

from PyQt4 import QtCore, QtGui
app=QtGui.QApplication([])

def scroll():
    item = listWidget.findItems('ITEM-0011', QtCore.Qt.MatchRegExp)[0]
    item.setSelected(True)

window = QtGui.QDialog()
window.setLayout(QtGui.QVBoxLayout())
listWidget = QtGui.QListWidget()
window.layout().addWidget(listWidget)

for i in range(100):
    QtGui.QListWidgetItem('ITEM-%04d'%i, listWidget)

btn = QtGui.QPushButton('Scroll')
btn.clicked.connect(scroll)
window.layout().addWidget(btn)
window.show()
app.exec_()

【问题讨论】:

  • 在问这个问题之前,您是否查看了 qlistwidget 的文档?

标签: python qt pyqt qlistwidget


【解决方案1】:

list-widget 有一个scrollToItem 方法,可以将项目滚动到specific position

def scroll():
    item = listWidget.findItems('ITEM-0011', QtCore.Qt.MatchRegExp)[0]
    item.setSelected(True)
    listWidget.scrollToItem(item, QtGui.QAbstractItemView.PositionAtTop)

【讨论】:

    猜你喜欢
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2020-10-12
    相关资源
    最近更新 更多