QT读取文档内容写入QTableWidget中

该文章描述了一个使用Qt进行编程的操作流程,具体是当点击Loading按钮后,程序从当前目录下的one.txt文件中读取指定行数据,并将其导入到表格中。主要涉及QFile、QTextStream类用于处理文本文件,以及如何利用槽函数实现数据导入功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、操作流程

01.UI界面

目标是点击Loading按钮后将当前目录下one.txt文档的制定行数据导入表格中

以下是one.txt文档

02.添加头文件
#include <QTextStream>//文本流
#include <QIODevice>//I/O设备接口类
03.实现槽函数

Loading按钮转到槽

槽函数代码

void MainWindow::slot_pushButton_Loading(bool click)
{
    QFile file("D:\\Qt\\Documents\\test\\one.txt");//文件路径
    file.open(QIODevice::ReadOnly|QIODevice::Text);//打开方式
    QTextStream f_put(&file);//文本流
    f_put.setCodec("UTF-8");//设置编码方式
    QString Entire;//用于接收每行字符串
    QStringList Word;//用于接收分割后的字符串列表
    static int Row = 0;//设置插入行数
    for(int i = 0;i < 6;++i)//跳过前6行无效数据
        f_put.readLine();//读一行
    while(!f_put.atEnd())//判断是否读取完成
    {
        Entire = f_put.readLine();//读取一行
        Word = Entire.split("  ");//分割字符串
        for(int i = 0;i < 4;++i)
        {
            QTableWidgetItem* Item = new QTableWidgetItem(Word[i]);//用字符串给Item做构造参数
            ui->tableWidget_weather->setItem(Row,i,Item);//4个字符串逐个插入表格
        }
        ++Row;//行数自加
    }
    file.clear();//关闭文档
}

问题:在for循环内释放Item申请的空间会导致表格没有导入数据

二、结果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值