Я хочу использовать ListView в Pyqt4 для отображения некоторых элементов с флажком перед каждым элементом. И я хочу получить эти выбранные элементы, но возвращаемое значение self.ui.listView.selectedIndexes() равно None, я действительно не знаю, что делать, чтобы получить то, что я хочу.
Мои коды следующие:
#coding=utf-8
from loadtsklist import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys, os
class MyLoadTskList(QDialog):
def __init__(self):
QDialog.__init__(self)
self.initTaskList()
def initTaskList(self):
global connectserver
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.btsure.clicked.connect(self.test)
tsklist = [u'北京',u'南京', u'海南', u'青岛', u'西安']
model = QStandardItemModel()
for task in tsklist:
print(task)
item = QStandardItem(QString(task))
check = Qt.Unchecked
item.setCheckState(check)
item.setCheckable(True)
model.appendRow(item)
self.ui.listView.setModel(model)
def test(self):
print len(self.ui.listView.selectedIndexes())
print "hello this is LoadTskList"
app = QApplication(sys.argv)
tsk = MyLoadTskList()
tsk.show()
app.exec_()
Может кто-нибудь, пожалуйста, скажите мне, как это сделать? заранее спасибо!