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

 

posted @ 2015-11-18 15:54  ike_li  阅读(374)  评论(0编辑  收藏  举报