如何将txt文件输入QStringList-CSDN论坛

如何将txt文件输入QStringList-CSDN论坛,第1张

1.用QFile::open()读取tex文件

2.用QTextStream::readLine()读取txt文件放老裤到QStringList中;

3.根据需要,将QStringList构造成滚戚树形结构。

在不同的应用服务器下都是可以运行的。

答题不易,互相理解,您的采纳是我前进侍备简的动力,

如果我的回答没能帮助您,请继续追问。

ui.tedLog->toPlainText()

QStringList list = ui.tedLog->toPlainText().split("\游衡悉n")

再循环取 list写入文件就神乎可拦液以了。

1、HeatUser类

class HeatUser

{

public:

    HeatUser(){

    }

    HeatUser(QString name, float flow, float distance, short time){

        strcpy(Name, name.toLocal8Bit().data())

        信羡培Flow = flow

        Distance = distance

        Time = time

    }

    ~HeatUser(){

    }

    QString getName(){

      派绝  return Name

    }

    QString getFlow(){

        return QString("%1").arg(Flow)

    }

    QString getDistance(){

        return QString("%1").arg(Distance)

   滑唯 }

    QString getTime(){

        return QString("%1").arg(Time)

    }

private:

    char Name[30]

    float Flow

    float Distance

    short Time

}

2、对象初始化

    QFile file("aa.txt")

    if(file.open(QIODevice::ReadOnly))

    {

        QTextStream stream(&file)

        while(!stream.atEnd())

        {

            QStringList list = stream.readLine().split(QRegExp("\\s+"))

            HeatUser hUser(list.at(0), static_cast<QString>(list.at(1)).toFloat(),

                           static_cast<QString>(list.at(2)).toFloat(),

                           static_cast<QString>(list.at(3)).toShort())

            vec.push_back(hUser)

        }

    }

3、文件内容

aa  126.0   22.6    99

bb   165.0   23.6    100

4、写入Qtablewidget

    ui->tableWidget->setRowCount(2)     //设置行数为2

    ui->tableWidget->setColumnCount(4)   //设置列数为4

    QStringList header

    header << "Name" << "Flow" << "Distance" << "Time"

    ui->tableWidget->setHorizontalHeaderLabels(header)

    for(int i = 0 i < vec.count() i++)

    {

        ui->tableWidget->setItem(i,0,new QTableWidgetItem(vec[i].getName()))

        ui->tableWidget->setItem(i,1,new QTableWidgetItem(vec[i].getFlow()))

        ui->tableWidget->setItem(i,2,new QTableWidgetItem(vec[i].getDistance()))

        ui->tableWidget->setItem(i,3,new QTableWidgetItem(vec[i].getTime()))

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12220108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存