一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - QT中如何讀寫ini配置文件

QT中如何讀寫ini配置文件

2022-03-06 13:503D視覺工坊 C/C++

ini文件在windows系統中可以存儲需要持久保存的配置信息,QT界面中如何實現手動讀取參數存放的位置,感興趣的小伙伴們可以參考一下

如圖1所示,我們需要在QT界面中實現手動讀取參數存放的位置,那么我們該如何做呢?

QT中如何讀寫ini配置文件

方法:讀取ini格式的配置文件,實現路徑的寫入與讀取。

第一步:界面構造函數中,初始化一個Config.ini文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//初始化一個.ini配置文件
 //qApp是QT系統自帶的,可以直接使用
QString iniFilePath=qApp->applicationDirPath()+"/Config.ini";
//如果不存在Config.ini,便生成一個Config.ini。如果已經存在了,則略過。
if(!QFile::exists(iniFilePath))
{
     QSettings configIniWrite(iniFilePath,QSettings::IniFormat);
     configIniWrite.beginGroup("calib_data_path");
     configIniWrite.setValue("calib_data_path","FA0180090134.xml");
     configIniWrite.endGroup();
     configIniWrite.beginGroup("robot_pose_file");
     configIniWrite.setValue("robot_pose_file_path","robot_pose_file.txt");
     configIniWrite.endGroup();
}

第二步:定義一個保存Config文件的函數

?
1
2
3
4
5
6
7
8
9
10
11
void saveConfig(const QString& group,const QString& name, const QVariant& var)
{
     QString iniFilePath = qApp->applicationDirPath() + "/Config.ini";
     if (QFile::exists(iniFilePath))
     {
       QSettings configIniWrite(iniFilePath,QSettings::IniFormat);
       configIniWrite.beginGroup(group);
       configIniWrite.setValue(name,var);
           configIniWrite.endGroup();
     }
}

第三步:設置路徑

Demo1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  //設置相機標定文件路徑
void CalibrationForm::btnLoadCamParaPath_clicked()
{
    QFileDialog dialog(this,tr("Select calib data file"));
    dialog.setAcceptMode(QFileDialog::AcceptOpen);
    dialog.setFileMode(QFileDialog::ExistingFile);
    static bool firstDialog = true;
    if (firstDialog)
    {
        firstDialog = false;
        const QStringList fileLocations =
                QStandardPaths::standardLocations(QStandardPaths::DesktopLocation);
        dialog.setDirectory(fileLocations.isEmpty() ?         
                QDir::currentPath():fileLocations.last());
    }
    dialog.setNameFilter(tr("FA0180090134(*.xml)"));
    if (dialog.exec()==QDialog::Accepted)
    {
        //獲得文件夾路徑+文件名
        _campara_path = dialog.selectedFiles().first();
        ui->lineEditCamParaPath->setText(_campara_path); //此處是在lineEdit窗口顯示路徑名+文件名
        saveConfig("calib_data_path","calib_data_path",_campara_path);
    }
}

demo2:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//設置手眼標定時的機械臂運動軌跡路徑
void CalibrationForm::btnLoadRobotPara_clicked()
{
    QFileDialog dialog(this,tr("Select robot pose file"));
    dialog.setAcceptMode(QFileDialog::AcceptOpen);
    dialog.setFileMode(QFileDialog::ExistingFile);
    static bool first_Dialog = true;
    if (first_Dialog)
    {
        first_Dialog = false;
        const QStringList fileLocations =
QStandardPaths::standardLocations(QStandardPaths::DesktopLocation);
        dialog.setDirectory(fileLocations.isEmpty()?
QDir::currentPath():fileLocations.last());
    }
    dialog.setNameFilter(tr("robot_pose_file(*.txt)"));
    if (dialog.exec()==QDialog::Accepted)
    {
        _robot_pose_path = dialog.selectedFiles().first();
        ui->lineEditRobotPath->setText(_robot_pose_path);
        saveConfig("robot_pose_file","robot_pose_file_path",_robot_pose_path);
    }
}

由于ini文件不可在星球中上傳,此處用txt形式的截圖作為附件,見圖2.

QT中如何讀寫ini配置文件

到此這篇關于QT中如何讀寫ini配置文件的文章就介紹到這了,更多相關QT讀寫ini內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/Yong_Qi2015/article/details/87916091

延伸 · 閱讀

精彩推薦
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
主站蜘蛛池模板: 欧美在线一级视频 | 欧美一级视频在线高清观看 | 高清一区高清二区视频 | 隔壁老王国产精品福利 | 美女被的在线网站91 | 国产精品一区久久精品 | 久久视频在线视频观看精品15 | 久久艹影院 | ysav67| 国产亚洲综合成人91精品 | 高h全肉np触手 | 日本高清全集免费观看 | 久久青青草原精品国产软件 | 成人午夜在线视频 | 久久中文字幕亚洲 | 99久久精品无码一区二区毛片 | 美女毛片视频 | 免费特黄一区二区三区视频一 | 日韩一级免费毛片 | 国产伦精品一区二区三区免 | xxnx日本免费护士 | 日韩性公交车上xxhd免费 | 亚洲 制服 欧美 中文字幕 | 天天性综合 | 久久全国免费观看视频 | 按摩师他揉我奶好爽捏我奶 | 男人j进女屁股视频在线观看 | 免看一级a一片成人123 | 高中生放荡日记高h娜娜 | a在线观看欧美在线观看 | 四虎四虎 | 337p大尺度啪啪人体午夜2020 | 亚洲区在线播放 | 亚洲国产精品久久久久久网站 | 13日本xxxxxxxxx18| 国产一级精品高清一级毛片 | 亚洲激情在线视频 | 天美影视传媒mv直接看 | 欧美1| 4455永久在线视频观看 | 欧美日韩亚洲综合在线一区二区 |