Did you reimplement QAbstractItemModel::flags() to return proper flags for your items?