c++qtqt4

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


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.


Solution

  • 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();
        }
    }