How to set text alignment on a column of QTableView programmatically?

Ali picture Ali · Feb 10, 2011 · Viewed 28.1k times · Source

So far the only solution I have found is to subclass QItemDelegate and implement my alignment rule in the paint() function. Is it really the simplest way?

I am using the C++ API.

Answer

Nekuromento picture Nekuromento · Feb 10, 2011

The alternative to subclussing QItemDelegate is to subclass your model and override data() method.

QVariant MyModel::data(const QModelIndex& index, int role) const {
    if (index.column() == yourCellIndex && role == Qt::TextAlignmentRole) {
        return Qt::AlignLeft;
    } else {
        return QVariant();
    }
}