You have to return the Qt::ItemIsUserCheckable as (one of your) flags from the flags() method of your model, and return a valid value in your data() method for the Qt::CheckStateRole. What model are you using?