Для флажка, использующего элемент setCheckState , метод должен делать то, что вам нужно как для виджетов списка, так и для таблиц. Посмотрите, подойдет ли вам приведенный ниже код:
Виджет списка:
QListWidgetItem *item0 = new QListWidgetItem(tr("First"), listWidget);
QListWidgetItem *item1 = new QListWidgetItem(tr("Second"), listWidget);
item0->setCheckState(Qt::Unchecked);
item1->setCheckState(Qt::Checked);
Виджет таблицы:
QTableWidgetItem *item2 = new QTableWidgetItem("Item2");
item2->setCheckState(Qt::Checked);
tableWidget->setItem(0, 0, item2);
Вы можете использовать делегаты ( QItemDelegate ) для других типов виджетов редактора, пример здесь: Пример делегата Spin Box .
![Spin Box Delegate](https://i.stack.imgur.com/rhw46.png)
Надеюсь, это поможет.