c++ - 如何为 QTableView 中的特定单元格着色或加粗文本?

标签 c++ qt qt4 qtableview

我已经使用 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/

相关文章:

c++ - 从文件中删除标题

c++ - Qt - 重新实现 QIODevice 以实时听到我自己的声音

c++ - 如何在WASAPICaptureSharedEventDriven中以原始格式保存音频文件

c++ - 如何从 QStringList 中删除空字符串和空字符串?

c++ - 无法加载 QML 插件 : cannot protect module as it was never registered

c++ - 实现多线程环境

c++ - QGraphicsView/QGraphicsScene 定时器事件不工作

c++ - sort() 和 stable_sort() 中比较器要求的区别

qt - 来自 QProcess 的标准输出离实时很远

c++ - 在 Qt 4.4 中为 QTableView 设置 Tab 键顺序