我已经使用 QTableView
在我的 Qt 程序中查看表格数据,并且我需要以某种方式将一些单元格与其他单元格区分开来,可以在这些特定单元格中使用粗体字体或绘制这些特定单元格的背景.
有人可以提供代码而不只是说使用 QAbstractItemDelegate
吗?
我通读了 QAbstractItemDelegate
的文档,但无法理解,所以请使用示例进行解释。
最佳答案
为了使文本在表格 View 中显示不同,您可以修改模型(如果存在)并处理 Qt::FontRole
和/或 Qt::ForegroundRole
模型的 QAbstractItemModel::data()
函数中的角色。例如:
QVariant MyModel::data(const QModelIndex &index, int role) const
{
if (role == Qt::FontRole && index.column() == 0) { // First column items are bold.
QFont font;
font.setBold(true);
return font;
} else if (role == Qt::ForegroundRole && index.column() == 0) {
return QColor(Qt::red);
} else {
[..]
}
关于c++ - 如何为 QTableView 中的特定单元格着色或加粗文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21264917/