QT中如何读写ini配置文件

如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢?

方法:读取ini格式的配置文件,实现路径的写入与读取。

第一步:界面构造函数中,初始化一个Config.ini文件

//初始化一个.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文件的函数

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:

  //设置相机标定文件路径
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:

 //设置手眼标定时的机械臂运动轨迹路径
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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C/C++ Qt 基本文件读写的基本使用(2种实现)

    目录 QT基本文件读写 QTextStream 实现流读写 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能. Qt文件操作有两种方式,第一种使用QFile类的IODevice读写功能直接读写,第二种是利用 QFile和QTextStream结合起来,用流的方式进行文件读写. 第一种,利用QFile中的相关函数,实现对文件的读写操作,QFile会调用IODevice设备,从而实现文件读写. QT基本文件读写 通

  • C++ qt 使用jsoncpp json 读写操作

    JsonCpp的使用 项目需要c++下使用json,我选择了JsonCpp,官网是:https://github.com/open-source-parsers/jsoncpp. 解压后使用python编译出两个h文件和一个cpp文件: (电脑需要安装python自己百度安装,这里就不说了) 安装python后,打开windows下cmd窗口,进入到jsoncpp文件夹  如图: 执行命令:python amalgamate.py 就会生成dist文件夹 里面有 json.h json-forw

  • PyQt5结合QtDesigner实现文本框读写操作

    本文主要介绍了PyQt5结合QtDesigner实现文本框读写操作,分享给大家,具体如下: 主要内容: 1.读.写 输入控件(Input Widgets)中的内容(str) 2.保存数据到txt文件 3.从txt文件中读内容,与输入控件中内容比较 将上述各种输入控件(Input Widgets)中的内容保存到txt文件中: Ui文件 # -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog

  • Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法

    Qt文件操作类QFile简介 Qt中使用QFile类来操作文件的输入/输出.继承至QIODevice,QIODevice类是输入/输出设备的基类, 为设备提供了公共实现和抽象接口用于读写块数据.QIODevice又继承至QObject. 1.使用QFile类打开文件 QFile的构造函数 QFile(const QString &name) //传入一个文件路径 构造完成后,并没有打开文件,需要使用QFile::open函数来打开文件 [virtual] bool QFile::open(Ope

  • QT中如何读写ini配置文件

    如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中,初始化一个Config.ini文件 //初始化一个.ini配置文件 //qApp是QT系统自带的,可以直接使用 QString iniFilePath=qApp->applicationDirPath()+"/Config.ini"; //如果不存在Config.ini,便生成一个Config.ini.如果已经存在了,则

  • Windows系统中C#读写ini配置文件的程序代码示例分享

    最近接触到INI配置文件的读写,虽然很久以前微软就推荐使用注册表来代替INI配置文件,现在在Visual Studio上也有专门的.Net配置文件格式,但是看来看去还是INI配置文件顺眼.事实上.Net的XML格式配置文件在功能上更加强大,我也更推荐大家使用这种类型的配置文件来进行.Net软件的开发,我之所以使用INI配置文件,无非是想尝一下鲜和个人习惯而已. C#本身没有提供访问INI配置文件的方法,但是我们可以使用WinAPI提供的方法来处理INI文件的读写,代码很简单!网上有大量现成的代码

  • C#中读写INI配置文件的方法

    在作应用系统开发时,管理配置是必不可少的.例如数据库服务器的配置.安装和更新配置等等.由于Xml的兴起,现在的配置文件大都是以xml文档来存储.比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config,包括我在介绍Remoting中提到的配置文件,都是xml的格式. 传统的配置文件ini已有被xml文件逐步代替的趋势,但对于简单的配置,ini文件还是有用武之地的.ini文件其实就是一个文本文件,它有固定的格式,节Section

  • Python3读写ini配置文件的示例

    ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑. 配置文件的主要功能就是存储一批变量和变量值,在ini文件中使用[章(Section)]对变量进行了分组,基本格式如下. # filename: config.ini [user] name=admin password=123456 is_admin=true [mysql] host=10.10.10.10 port=3306 db=apitest u

  • java 读写 ini 配置文件的示例代码

    下面通过代码先看下java 读写 ini 配置文件,代码如下所示: package org.fh.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.net.URLDecoder; import java.util.regex.

  • python读写ini配置文件方法实例分析

    本文实例讲述了python读写ini配置文件方法.分享给大家供大家参考.具体实现方法如下: import ConfigParser import os class ReadWriteConfFile: currentDir=os.path.dirname(__file__) filepath=currentDir+os.path.sep+"inetMsgConfigure.ini" @staticmethod def getConfigParser(): cf=ConfigParser

  • C++读写INI配置文件的类实例

    本文实例讲述了C++读写INI配置文件的类.分享给大家供大家参考.具体如下: 1. IniReader.h文件: #ifndef INIREADER_H #define INIREADER_H #include <windows.h> class CIniReader { public: CIniReader(LPCTSTR szFileName); int ReadInteger(LPCTSTR szSection, LPCTSTR szKey, int iDefaultValue); fl

  • Python实现读写INI配置文件的方法示例

    本文实例讲述了Python实现读写INI配置文件的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import ConfigParser import os '''读写配置文件的类 [section] logpath = D:\log\ imageminsize = 200 ''' class ConfigFile: '''构造函数:初始化''' def __init__(self,fileName): fileName = unicode(fileNam

  • c#读写ini配置文件示例

    其他人写的都是调用非托管kernel32.dll.我也用过 但是感觉兼容性有点不好 有时候会出现编码错误,毕竟一个是以前的系统一个是现在的系统.咱来写一个纯C#的ini格式配置文件读取,其实就是文本文件读写啦.但是我们要做的绝不仅仅是这样 是为了访问操作的方便 更是为了以后的使用. 都知道ini格式的配置文件里各个配置项 其实就是一行一行的文本 key跟value 用等号隔开.像这样:grade=5 .各个配置项又进行分组 同类型的放到一起 称之为section 以中括号([])区分.像这样:[

  • 基于Python3读写INI配置文件过程解析

    ini文件简介 ini是我们常见到的配置文件格式之一. ini是微软Windows操作系统中的文件扩展名(也常用在其他系统). INI是英文"初始化(Initial)"的缩写.正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置. 通过它,可以将经常需要改变的参数保存起来(而且还可读),使程序更加的灵活. 我先给出一个ini文件的示例. [School] ip = 10.15.40.123 mask = 255.255.255.0 gateway = 10.15

随机推荐