如何以编程方式在QTableView列上设置文本对齐方式?

Ali*_*Ali 23 qt qt4 pyqt pyqt4

到目前为止,我发现的唯一解决方案是继承QItemDelegate并在paint()函数中实现我的对齐规则.这真的是最简单的方式吗?

我正在使用C++ API.

Nek*_*nto 37

到subclussing替代QItemDelegate是继承你的模型和覆盖data()方法.

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

  • 这个答案是在更简单的时间内给出的,当时草地更绿,天空更晴朗。请随时编辑此答案 (2认同)