#include int main(int argc, char *argv[]) { QApplication a(argc, argv); QTableWidget tbl(5,5); QTableWidgetItem *tblItem = 0; // ordinary cell item const Qt::ItemFlags itemFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable ); for (int r = 0; r < 5; r++) { for (int c = 0; c < 5; c++) { tblItem = new QTableWidgetItem(); if ((r % 2 && c % 2) || !(r % 2 || c % 2)) tblItem->setFlags(itemFlags); else { tblItem->setFlags(Qt::NoItemFlags); tblItem->setData(Qt::BackgroundRole, Qt::yellow); tblItem->setData(Qt::DisplayRole, "flag 0"); } tbl.setItem(r, c, tblItem); } } tbl.setSelectionMode(QAbstractItemView::MultiSelection); tbl.resize(600, 300); tbl.show(); return a.exec(); }