OK I worked out what was happening.
data() was returning a checkbox AND a value. To stop it, I had to modify it:

Qt Code:
  1. QVariant PurchaseOrdersRequests::data ( const QModelIndex & index, int role ) const
  2. {
  3. QVariant value = QStandardItemModel::data(index, role);
  4. if (index.column() == 6)
  5. {
  6. if (role == Qt::CheckStateRole)
  7. return (QStandardItemModel::data(index).toInt() != 0) ? Qt::Checked : Qt::Unchecked;
  8. else if (role == Qt::DisplayRole)
  9. return QVariant(); // Don't show value !!
  10. }
  11. return value;
  12. }
To copy to clipboard, switch view to plain text mode