Qt如何读取配置文件

Qt如何读取配置文件,第1张

我写个了程序,用到了配置文件来初始化和保存程序中的文本框的信息。在我的电脑可以实现 但是发到不装Qt的电脑上,程序就只可以读取配置文件的数据 , 但是不能把新信息写入。

------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------

没qt的电脑,需要你把自己exe依赖的qt库都打包放在一起,这样在没qt环境的电脑上才能正常运行。

------解决方案--------------------------------------------------------

在你的main函数的第一行前插入以下内容后再试试看:

int main(int argc, char argv[])

{

QTextCodec utf8 = QTextCodec::codecForName("utf8");

QTextCodec::setCodecForCStrings(utf8);

QTextCodec::setCodecForLocale(utf8);

QTextCodec::setCodecForTr(utf8);

}

1、HeatUser类

class HeatUser

{

public:

    HeatUser(){

    }

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

        strcpy(Name, nametoLocal8Bit()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("aatxt");

    if(fileopen(QIODevice::ReadOnly))

    {

        QTextStream stream(&file);

        while(!streamatEnd())

        {

            QStringList list = streamreadLine()split(QRegExp("\\s+"));

            HeatUser hUser(listat(0), static_cast<QString>(listat(1))toFloat(),

                           static_cast<QString>(listat(2))toFloat(),

                           static_cast<QString>(listat(3))toShort());

            vecpush_back(hUser);

        }

    }

3、文件内容

aa  1260   226    99

bb   1650   236    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 < veccount(); 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()));

    }

以上就是关于Qt如何读取配置文件全部的内容,包括:Qt如何读取配置文件、在QT中怎样获取中文的文件名、QT 读取文件写入Qtablewidget中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9583748.html

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

发表评论

登录后才能评论

评论列表(0条)

保存