Qt视图/模型

创建模型和单元格选择模型:

QStandardItemModel* model = new QStandardItemModel(2,6,this);//模型行数、模型列数、父对象
QItemSelectionModel* selection = new QItemSelectionModel(model);//创建单元格选择模型
为tableView设置数据模型:
ui.tableView->setModel(model);
	ui.tableView->setSelectionModel(selection);
	ui.tableView->setSelectionMode(QAbstractItemView::ExtendedSelection);
	ui.tableView->setSelectionBehavior(QAbstractItemView::SelectItems);

设置行数:

model->setRowCount(rowCount - 1);

设置表头:

QString header = fileContents.at(0);
	QStringList headerList = header.split(QRegExp("\\s+"),QString::SkipEmptyParts);
	model->setHorizontalHeaderLabels(headerList);

设置表格数据:

QStandardItem* item;
	for (int i = 1; i < rowCount; i++)
	{
		QString text = fileContents.at(i);
		QStringList lines = text.split(QRegExp("\\s"),QString::SkipEmptyParts);
		for (int j = 0; j < 5; j++)
		{
			item = new QStandardItem(lines.at(j));
			model->setItem(i - 1,j,item);
		}
	}

设置项是否可选:

item = new QStandardItem(headerList.at(j));
		item->setCheckable(true);
		if (lines.at(j) == "0")
			item->setCheckState(Qt::Unchecked);
		else
			item->setCheckState(Qt::Checked);
		model->setItem(i - 1,j,item);

你可能感兴趣的:(qt,开发语言)