QTableView与QStandardItemModel基本使用方法
对表格型数据,Qt有现成的模型/视图类,QStandardItemModel类和QTableView类。
模型类提供数据,视图类则负责展示数据。所以数据及数据的相关信息(如文本大小、颜色、数据类型等)由模型类(QStandardItemModel)管理,数据的显示(如表格是否可以编辑、选择方式、行列的大小策略等)由视图类(QTableView)管理。
所以Qt表格模型和视图的使用步骤大致如下:
- 创建模型对象
[cpp]QStandardItemModel *import_model = new QStandardItemModel(this);[/cpp] - 添加标题
[cpp]
import_model->setHeaderData(0,Qt::Horizontal,tr(“location”));
import_model->setHeaderData(1,Qt::Horizontal,tr(“status”));
[/cpp] - 添加数据行
[cpp]
import_model->setItem(i,0,new QStandardItem(a_data_item->location));
[/cpp] - 修改数据的属性
[cpp]
import_model->item(i,1)->setTextAlignment(Qt::AlignCenter);
import_model->item(i,1)->setBackground(QBrush(status_color));
[/cpp] - 将模型设置给视图
[cpp]
file_view->setModel(import_model);
[/cpp] - 调整视图属性
[cpp]
file_view->horizontalHeader()->setResizeMode(0,QHeaderView::Stretch);
[/cpp]