QFile读取文本TxT文件到tableView

该代码段展示了如何在QT环境中使用QFile类打开并读取TXT文件,按行处理文件内容,同时将数据填充到QTableView中。通过QFileDialog选择文件,然后使用QRegExp进行字符串分割,并将数据存储到QStandardItemModel中展示。
摘要由CSDN通过智能技术生成

学习目标:

使用QFile读取文件


学习内容:

  1. 打开文件
  2. 按行读取
  3. 解析文件
  4. 存储

代码:

void CLoadWellTopDialog::openFile()
{
	getJumpSteps();//获取跳行的步数
	getLists();//获取显示的列
	m_path=QFileDialog::getOpenFileName(this, "open", "../", "TXT(*.txt)");

	if (false==m_path.isEmpty())
	{
		m_file.setFileName(m_path);
		bool isOk=m_file.open(QIODevice::ReadOnly);
				if (true == isOk)
				{
					ui.fileLineEdit->setText(m_path);
					QStandardItemModel *model=new QStandardItemModel(this);//使用model
					int row=0;
					int col=0;
					while (!m_file.atEnd())
					{
						allLines++;
						QString tempLineStr=m_file.readLine();
						QStringList preList=tempLineStr.split(QRegExp("\\s+"));//将获取的字符串转换为QStringList类型
						getDataByLists(preList);//处理得到的字符串为指定列
						if (0 == m_jumpSteps)
						{
							setDataToVector(preList);//将数据装入到Qvector中
						}
						else
						{
							m_jumpSteps--;
						}

						for (int i=0;i<3;i++)
						{
							QString tempStr=preList.front();
							preList.pop_front();
							model->setItem(row, col, new QStandardItem(tempStr));
							col++;
							if (3==col)
							{
								col=0;
								row++;
							}
						}
						
					}
					ui.tableView->setModel(model);

			}
		}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值