QT *.ini文件读写

void MainWindow::open_file_clicked()
{
    qDebug() << "open_file_clicked";

    // 弹出打开文件对话框
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("INI files (*.ini);;Text files (*.txt);;All files (*)"));

    // 如果用户没有选择文件(点击取消)
    if (fileName.isEmpty()) {
        qDebug() << "No file selected.";
        return;
    }

    QSettings *my_config = new QSettings(fileName, QSettings::IniFormat);

    // 检查文件是否存在
    if (!QFile::exists(fileName)) {
        qDebug() << "File does not exist.";
        return;
    }

    for(int i=0;i<9;i++)
    {
        QString ma=QString::number(i)+"percentage_s1/light";
        QString mb=QString::number(i)+"percentage_s1/ct";
        QString mc=QString::number(i)+"percentage_s2/light";
        QString md=QString::number(i)+"percentage_s2/ct";


        QString percentage1 = my_config->value(ma).toString();
        QString percentage2 = my_config->value(mb).toString();
        QString percentage3 = my_config->value(mc).toString();
        QString percentage4 = my_config->value(md).toString();

        QTableWidgetItem *item;
        item= tw1->item(i, 1);
        item->setText(percentage1);
        item= tw1->item(i, 2);
        item->setText(percentage2);
        item= tw1->item(i, 3);
        item->setText(percentage3);
        item= tw1->item(i, 4);
        item->setText(percentage4);
    }
}

void MainWindow::on_save_table_clicked()
{
    qDebug() << "on_save_table_clicked";
    // 弹出保存文件对话框
       QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "", tr("INI files (*.ini);;All files (*)"));

       // 如果用户没有选择文件(点击取消)
       if (fileName.isEmpty()) {
           qDebug() << "No file selected.";
           return;
       }

       // 如果没有扩展名,自动添加 .ini 扩展名
       if (!fileName.endsWith(".ini", Qt::CaseInsensitive)) {
           fileName.append(".ini");
       }

       // 检查文件所在目录是否存在,如果不存在则创建
       QDir dir;
       QString dirPath = QFileInfo(fileName).absolutePath();
       if (!dir.exists(dirPath)) {
           if (!dir.mkpath(dirPath)) {
               qDebug() << "Failed to create directory: " << dirPath;
               return;  // 无法创建目录
           }
       }

       QSettings *my_config = new QSettings(fileName, QSettings::IniFormat);
       //QString percentage = my_config->value("percentage1/light1").toString();

       {
           for(int i=0;i<9;i++)
           {
               QString ma=QString::number(i)+"percentage_s1/light";
               QString mb=QString::number(i)+"percentage_s1/ct";
               QString mc=QString::number(i)+"percentage_s2/light";
               QString md=QString::number(i)+"percentage_s2/ct";
               my_config->setValue(ma, get_tw_name(i,1));
               my_config->setValue(mb, get_tw_name(i,2));
               my_config->setValue(mc, get_tw_name(i,3));
               my_config->setValue(md, get_tw_name(i,4));
               qDebug()<<get_tw_name(i,1)<<get_tw_name(i,2)<<get_tw_name(i,3)<<get_tw_name(i,4);
           }
       }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌风_lwp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值