#include #include #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(); tbl.setItem(r, c, tblItem); if (c != r ) { tblItem->setFlags(itemFlags); } else { tblItem->setFlags(Qt::NoItemFlags); tblItem->setData(Qt::DisplayRole, "flag 0"); } } } tbl.setSelectionMode(QAbstractItemView::MultiSelection); tbl.resize(900, 600); tbl.show(); #if 1 tbl.selectColumn(2); tbl.selectColumn(3); tbl.selectRow(2); tbl.selectRow(3); #else tbl.selectRow(2); tbl.selectRow(3); tbl.selectColumn(2); tbl.selectColumn(3); #endif qDebug() << "row 2" << tbl.selectionModel()->isRowSelected(2, QModelIndex()); qDebug() << "row 3" << tbl.selectionModel()->isRowSelected(3, QModelIndex()); qDebug() << "col 2" << tbl.selectionModel()->isColumnSelected(2, QModelIndex()); qDebug() << "col 3" << tbl.selectionModel()->isColumnSelected(3, QModelIndex()); return a.exec(); }