патамушта setSelectionMode() указывает может ли
пользователь выбирать один или несколько элементов, и, если пользователь может выбирать несколько, должен ли это быть непрерывный диапазон.
вы же делаете это программно, тут нужно указывать в setCurrentRow() еще и SelectionModel.
вы опять не читаете документацию?
http://doc.crossplatform.ru/qt/4.7.x/qlistwidget-members.htmlда и ваш код:
lst_select_index = [2,5,7]
for i in range(len(lst_select_index)):
self.list_z.setCurrentRow(lst_select_index[i])
попахивает мазохизмом, в пайтоне его можно упростить:
#-*-coding:utf8-*-
from PyQt4.Qt import *
from PyQt4.QtGui import *
import sys
app = QApplication(sys.argv)
l = QListWidget()
l.setSelectionMode(2)
for i in range(10):
l.addItem('row{}'.format(i))
l.show()
lst_select_index = [2,5,7]
for i in lst_select_index:
l.setCurrentRow(i, QItemSelectionModel.Select)
print(l.selectedItems())
app.exec_()