如何访问 QStyledItemDelegate 中 displayText 函数中的不同列

How can I access to different column in displayText function in QStyledItemDelegate

我要更改我的 QTableView 专栏之一的显示文本。我继承自 QStyledItemDelegate class 并根据以下内容更改 displayText 的定义:

QString CellIdDelegate::displayText(const QVariant &value, const QLocale &locale) const
{
    QString currentColumn = value.toString();
    QString anotherColumn = ....;

    return currentColumn + anotherColumn;
}

然后使用setItemDelegateForColumn.

如何访问 QTableView 中另一列的值。

您不能,因为 displayText() 仅适用于一个单元格。它只是为了添加例如前缀或后缀。如果要显示其他文本,相应地修改Qt::DisplayRole返回的数据。这对代表来说不算什么。