2017-01-07 201 views
1

以下のコードは、QListWidgetQPushButtonという単一のダイアログウィンドウを作成します。 ボタンをクリックすると、「ITEM-0011」を見つけて選択するscroll()機能が起動します。QListWidgetを選択した項目にスクロールする方法

選択したITEM-0011QListWidgetの上端になるようにリストウィジェットをスクロールする方法があるのだろうか?

enter image description here

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_() 
+0

あなたが見ていました。ここ最終的な結果は以下のようになります方法ですこれを尋ねる前にqlistwidgetのためのドキュメント? – Schollii

答えて

1

リストウィジェットがspecific positionに項目をスクロールしますscrollToItem方法があります:

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