c++实现qtreeview设置表格字体颜色的例子
时间: 2024-09-19 20:16:18 浏览: 47
QTreeview实现搜索功能查找功能
5星 · 资源好评率100%
在Qt中,QTreeView是一个用于显示树形数据结构的控件。如果你想设置表格的字体颜色,特别是在自定义模型(如QStandardItemModel)中,你可以通过创建列模板(QColumnView::Role)来实现。以下是一个简单的例子:
```cpp
#include <QApplication>
#include <QTreeView>
#include <QStandardItemModel>
#include <QFont>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建标准模型
QStandardItemModel model;
model.setHorizontalHeaderLabels({"标题1", "标题2"});
// 设置默认字体和颜色
QFont font("Arial", 10);
font.setColor(Qt::black); // 黑色
// 创建列模板并设置字体颜色
QItemDelegate* delegate = new QStyledItemDelegate();
delegate->setFont(&font);
// 对于每一列设置模板
for (int i = 0; i < model.columnCount(); ++i) {
model.setItemDelegateForColumn(i, delegate);
}
// 创建QTreeView,并设置模型
QTreeView treeView;
treeView.setModel(&model);
treeView.resize(400, 300);
treeView.show();
return app.exec();
}
```
在这个例子中,我们首先设置了全局字体,然后为每个列应用了这个字体模板。如果你只想对特定列设置不同的颜色,可以在创建`delegate`时传递具体的`QColor`实例。
阅读全文