QTableView与QStandardItemModel基本使用方法

对表格型数据,Qt有现成的模型/视图类,QStandardItemModel类和QTableView类。

模型类提供数据,视图类则负责展示数据。所以数据及数据的相关信息(如文本大小、颜色、数据类型等)由模型类(QStandardItemModel)管理,数据的显示(如表格是否可以编辑、选择方式、行列的大小策略等)由视图类(QTableView)管理。
所以Qt表格模型和视图的使用步骤大致如下:

  1. 创建模型对象
    [cpp]QStandardItemModel *import_model = new QStandardItemModel(this);[/cpp]
  2. 添加标题
    [cpp]
    import_model->setHeaderData(0,Qt::Horizontal,tr(“location”));
    import_model->setHeaderData(1,Qt::Horizontal,tr(“status”));
    [/cpp]
  3. 添加数据行
    [cpp]
    import_model->setItem(i,0,new QStandardItem(a_data_item->location));
    [/cpp]
  4. 修改数据的属性
    [cpp]
    import_model->item(i,1)->setTextAlignment(Qt::AlignCenter);
    import_model->item(i,1)->setBackground(QBrush(status_color));
    [/cpp]
  5. 将模型设置给视图
    [cpp]
    file_view->setModel(import_model);
    [/cpp]
  6. 调整视图属性
    [cpp]
    file_view->horizontalHeader()->setResizeMode(0,QHeaderView::Stretch);
    [/cpp]