zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [haoi2009]逆序对数列
    [haoi2008]木棍分割
    【LibreOJ 6277】数列分块入门 1 (分块)
    【模板】 最大流模板(ISAP)
    【模板】最大流模板(dinic)
    [模板] zkw线段树
    [luogu P1962] 斐波那契数列(带快速幂矩阵乘法模板)
    [SCOI2010] 股票交易 (单调队列优化dp)
    [luogu P2285] [HNOI2004]打鼹鼠
    [poj 2152] fire (树形dp)
  • 原文地址:https://www.cnblogs.com/ike_li/p/4974809.html
Copyright © 2011-2022 走看看