
Originally Posted by
DPB1956
I can set the checked/unchecked state in data()
Not sure why you're setting anything in data(). Anywho try something like the following.
In data():
. . .
if(role == Qt::CheckStateRole){
QStandardItem *item
= static_cast<QStandardItem
*>
(index.
internalPointer());
return item->checkState();
}
. . .
. . .
if(role == Qt::CheckStateRole){
QStandardItem *item = static_cast<QStandardItem*>(index.internalPointer());
return item->checkState();
}
. . .
To copy to clipboard, switch view to plain text mode
Then in setData():
. . .
if(role==Qt::CheckStateRole) {
QStandardItem *item
= static_cast<QStandardItem
*>
(index.
internalPointer());
if(item->isChecked()) item->setCheckState(Qt::Unchecked);
else item->setCheckState(Qt::Checked);
return true;
}
}
. . .
if(role==Qt::CheckStateRole) {
QStandardItem *item = static_cast<QStandardItem*>(index.internalPointer());
if(item->isChecked()) item->setCheckState(Qt::Unchecked);
else item->setCheckState(Qt::Checked);
return true;
}
return QAbstractItemModel::setData(index, value, role);
}
To copy to clipboard, switch view to plain text mode
HTH
Bookmarks