Если вы пишете свою собственную модель, просто включите Qt.ItemIsUserCheckable
Отметьте возвращаемое значение из метода flags()
и убедитесь, что вы возвращаете
допустимое значение для Qt.CheckStateRole
из метода data()
.
Если вы используете класс QStandardItemModel
, включите Qt.ItemIsUserCheckable
отметьте те, которые вы передаете методу setFlags()
каждого элемента, и установите проверку
состояние для Qt.CheckStateRole
с его методом setData()
.
В интерактивном сеансе Python введите следующее:
from PyQt4.QtGui import *
model = QStandardItemModel()
item = QStandardItem("Item")
item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
item.setData(QVariant(Qt.Checked), Qt.CheckStateRole)
model.appendRow(item)
view = QListView()
view.setModel(model)
view.show()