Qt ini配置文件读写
一、使用总结
1.配置文件生成在exe目录下。
二、代码
#ifndef CONFIGURE_H #define CONFIGURE_H #include <QString> #include <QVariant> #include <QMap> class Configure { public: Configure(); void init(); void setPortName(QString portName); QString getPortName(); void setBaudRate(QString baudRate); QString getBaudRate(); void setResponseTime(int responseTime); int getResponseTime(); void setNumberOfRetries(int numBerOfRetries); int getNumberOfRetries(); private: QString configureFilePath_; }; #endif // CONFIGURE_H
#include "configure.h" #include <QSettings> #include <QDebug> #include <QCoreApplication> const QString configureFileName="config.conf"; Configure::Configure() { configureFilePath_=QCoreApplication::applicationDirPath()+"/"+configureFileName; } void Configure::init() { QSettings settings(configureFilePath_, QSettings::IniFormat); if(settings.value ("Modbus/PortName").toString ()=="") { settings.setValue("Modbus/PortName","ttyUSB0"); } if(settings.value ("Modbus/BaudRate").toString ()=="") { settings.setValue("Modbus/BaudRate","9600"); } if(settings.value ("Modbus/ResponseTime").toString ()=="") { settings.setValue("Modbus/ResponseTime",1000); } if(settings.value ("Modbus/NumberOfRetries").toString ()=="") { settings.setValue("Modbus/NumberOfRetries",3); } } void Configure::setPortName(QString portName) { QSettings settings(configureFilePath_, QSettings::IniFormat); settings.setValue("Modbus/PortName",portName); } QString Configure::getPortName() { QSettings settings(configureFilePath_, QSettings::IniFormat); return settings.value("Modbus/PortName").toString(); } void Configure::setBaudRate(QString baudRate) { QSettings settings(configureFilePath_, QSettings::IniFormat); settings.setValue("Modbus/BaudRate",baudRate); } QString Configure::getBaudRate() { QSettings settings(configureFilePath_, QSettings::IniFormat); return settings.value("Modbus/BaudRate").toString(); } void Configure::setResponseTime(int responseTime) { QSettings settings(configureFilePath_, QSettings::IniFormat); settings.setValue("Modbus/ResponseTime",responseTime); } int Configure::getResponseTime() { QSettings settings(configureFilePath_, QSettings::IniFormat); return settings.value("Modbus/ResponseTime").toInt (); } void Configure::setNumberOfRetries(int numBerOfRetries) { QSettings settings(configureFilePath_, QSettings::IniFormat); settings.setValue("Modbus/NumberOfRetries",numBerOfRetries); } int Configure::getNumberOfRetries() { QSettings settings(configureFilePath_, QSettings::IniFormat); return settings.value("Modbus/NumberOfRetries").toInt (); }
[Modbus] BaudRate=9600 NumberOfRetries=3 PortName=ttyUSB0 ResponseTime=1000