想在QTableView中处理是不可能的。解决办法就是重载函数。
具体代码:
class AlignedSqlQueryModel : public QSqlQueryModel {
public:
AlignedSqlQueryModel(QObject *parent = nullptr) : QSqlQueryModel(parent) {}
protected:
QVariant data(const QModelIndex &index, int role) const override {
if (role == Qt::TextAlignmentRole) {
if (index.column() == 0)
{
return Qt::AlignCenter;
}
return Qt::AlignRight;
}
return QSqlQueryModel::data(index, role);
}
};