Si usted está escribiendo su propio modelo, basta con incluir el Qt.ItemIsUserCheckable
bandera en el valor de retorno del método flags()
, y asegurarse de que regrese un valor válido para el Qt.CheckStateRole
del método data()
.
Si se utiliza la clase QStandardItemModel
, incluyen la bandera Qt.ItemIsUserCheckable
en los que se pasa al método de cada elemento setFlags()
, y establezca el estado de comprobación para la Qt.CheckStateRole
con su método setData()
.
En una sesión interactiva de Python, escriba lo siguiente:
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()
¿Qué señales (si las hay) se emiten cuando dicho elemento/casilla de verificación está desactivado? – marcin
para responderme, se puede usar 'model.itemChanged', como se muestra aquí: http://www.pythoncentral.io/pyside-pyqt-tutorial-qlistview-and-qstandarditemmodel/ – marcin