精华内容
下载资源
问答
  • QSetting

    2017-02-13 10:43:35
    来源:http://www.xuebuyuan.com/1072299.html ...//需要使用QSetting #include 声明函数 protected:  void closeEvent(QCloseEvent *event); private:  void wir


    来源:http://www.xuebuyuan.com/1072299.html


    Qt保存界面配置到注册表


    //需要使用QSetting

    #include<QSettings>

    声明函数

    protected:

      void closeEvent(QCloseEvent *event);

    private:

      void wirteSettings();

      void readSettings();

    MainWindow::MainWindow(QWidget *parent) :

      QMainWindow(parent),

      ui(new Ui::MainWindow)

    {

      readSettings();//页面设置完成,加载ini配置文件

    }

    //重构关闭函数

    void MainWindow::closeEvent(QCloseEvent *event)

    {

          wirteSettings();

    }

    //保存页面布局到配置文件

    void MainWindow::wirteSettings()

    {

      QSettings settings("xmutyh","ELsoft");

      settings.beginGroup("mainWindow");

      settings.setValue("size",size());

      settings.setValue("state",saveState());

      tings.setValue("lineeditor",ui->lineEdit->text());//保存输入框内容

      settings.endGroup();

    }

    //恢复页面布局

    void MainWindow::readSettings()

    {

      QSettings settings("xmutyh","ELsoft");

      settings.beginGroup("mainWindow");

      resize(settings.value("size").toSize());

      restoreState(settings.value("state").toByteArray());

      ui->lineEdit->setText(settings.value("lineeditor").toString());//返回输入框内容

      settings.endGroup();

    }





    展开全文
  • QSetting操作ini文件(包括增删改查),为了操作方便,自己封装了QSetting类。 写这类的原因的是每次操作QSettings的指针时候,用完都要delete指针,比较麻烦,可以使用类的析构函数自动删除。还有写入值的时候,...
  • QSetting使用说明

    2020-09-01 11:55:13
    QSetting使用说明前言1.初始化2.增加设置3.删除设置4.遍历键值与值(左值与右值) 前言 客户要求用文本替代sqlite数据库记录以下格式信息,遍历及增删配置 [IP] 1=192.168.0.70 3=192.168.0.111 [PATH] 1=/usr/bin/...

    前言

    客户要求用文本替代sqlite数据库记录以下格式信息,遍历及增删配置

    [IP]
    1=192.168.0.70
    3=192.168.0.111
    
    [PATH]
    1=/usr/bin/qtcreator
    2=/home/test
               
    

    1.初始化

    void Config::initSetting()
    {
        QString fileName="config.ini";
        QFile file(fileName);
        if(!file.exists())
        {
            FILE* fp = fopen("config.ini","wb");
            fprintf(fp,"%s","[IP]\n");
            fprintf(fp,"%s","\n");
            fprintf(fp,"%s","[PATH]\n");
            fclose(fp);
        }
        mySetting = new QSettings(fileName,QSettings::IniFormat);	//别漏了QSettings::IniFormat
    }
    

    2.增加设置

    void Config::addSetting(const QString&section, const QString&left, const QString&right)
    {
        mySetting->setValue(QString("/%1/%2").arg(section).arg(left),right);
    }
    
    

    3.删除设置

    void Config::removeSetting(const QString&setction, const QString&left)
    {
        mySetting->remove(QString("/%1/%2").arg(setction).arg(left));
    
    }
    

    4.遍历键值与值(左值与右值)

    enum RL{ LEFT, RIGHT};
    enum TYPE{IP,PATH};
    QVariant Config::getSetting(TYPE type, RL LOCATION, const QString&section)
    {
    
        mySetting->endGroup();
        if(IP == type)
            mySetting->beginGroup("IP");
        else
            mySetting->beginGroup("PATH");
    
        if(LEFT == LOCATION)
        {
            auto results = mySetting->childKeys();
            mySetting->endGroup();
            return  results;
        }
        else
        {
            auto keys = mySetting->childKeys();
            if(IP == type)
                for(auto i : keys)
                    i.push_front("/IP");
            else
                for(auto i : keys)
                    i.push_front("/PATH");
            QStringList results;
            for (auto i : keys)
                results <<mySetting->value(i).toString();
            mySetting->endGroup();
            return QVariant(results);
        }
    }
    
    展开全文
  • QSetting缓存机制的坑

    2021-01-04 16:13:33
    在工作中遇到这么一个问题,使用QSetting打开配置文件后,更新覆盖了一下被打开的文件,结果读取出来的内容还是原先的内容。 查了一下博客,发现QSetting是缓存在内存中的,再次打开是直接从内存中打开。 ...

    在工作中遇到这么一个问题,使用QSetting打开配置文件后,更新覆盖了一下被打开的文件,结果读取出来的内容还是原先的内容。

    查了一下博客,发现QSetting是缓存在内存中的,再次打开是直接从内存中打开。

    展开全文
  • QT之QSetting的使用

    千次阅读 2020-10-24 14:39:58
    这里用到了神奇的QSetting类。 这个类允许你创建一个配置文件或者操作注册表,你还可以指定配置文件的位置,当然,读取也是没问题的。 以下是一个创建配置文件和读取配置文件的例子,功能是写入主窗口大小,然后在...

    在产品使用过程中,有些用户有特定的习惯。比如窗口大小是的大小,文件打开的方式等等。

    因此我们需要有一个文件来保存用户的一些偏好信息,在程序重新启动的时候再进行偏好设置。

    这里用到了神奇的QSetting类。

    这个类允许你创建一个配置文件或者操作注册表,你还可以指定配置文件的位置,当然,读取也是没问题的。

    以下是一个创建配置文件和读取配置文件的例子,功能是写入主窗口大小,然后在下次启动时候改变窗口的默认大小。当然,这个仅仅是非常机械地使用,在实际开发中要做一些修改。主要是看例子……

    代码如下(记得看注释哦):

    1. QSettings setting("C:/Users/linuxer/Desktop/i.ini",QSettings::IniFormat);//设置配置文件的目录和位置,如果有,则不动,没有,会自动创建

    2. if(setting.contains(tr("AboutSize/myQtWidth"))&&setting.contains(tr("AboutSize/myQtHeight")))//如果已经存在这个文件,那就进行读取

    3. {

    4. double width=setting.value("AboutSize/myQtWidth").toDouble();//将读取出的数据进行使用

    5. double height=setting.value("AboutSize/myQtHeight").toDouble();

    6. this->resize(width,height);

    7. this->setWindowTitle("已经成功执行");

    8. }

    9. else {

    10. setting.beginGroup(tr("AboutSize"));//节点开始

    11. setting.setValue("myQtWidth","600");//设置key和value,也就是参数和值

    12. setting.setValue("myQtHeight","500");

    13. setting.endGroup();//节点结束

    14. }

     

    展开全文
  • Qt 中用Setting写ini文件用以保存软件配置信息是个很方便的信息,一般读写单个值,都很简单,到处都可以找到资料,但对于自定义的结构体如何使用QSetting写入ini和读出,资料较少,下面是我整理且测试成功的方法. ...
  • 翻译QSetting的用法

    2016-06-15 14:55:08
    QSetting是一个平台无关的可以设置和读取应用程序设置的类 用户可能希望应用程序记住自己应用程序的设置,windows记录在注册表中,mac中记录在xml中,在unix中,缺乏标准,所以很多都记录在.ini文本文件中 ...
  • QSetting读写注册表

    千次阅读 2016-05-19 16:56:18
    注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,... 在Qt中相关功能由QSetting完成实现。Qt文档中相关描述: The QSe
  • QT保存设置QSetting

    千次阅读 2017-04-24 11:32:55
    转载自:...要想保存用户设置,QT提供了QSetting类,可以轻松的完成,而且还能跨应用访问,其实QSetting不只是能保存用户设置,不管什么变量都可以保存,包括用户登录状态等,虽然这可能不是
  • QSetting 类使用

    千次阅读 2013-09-10 15:30:09
    QSetting是一个平台无关的可以设置和读取应用程序设置的类 用户可能希望应用程序记住自己应用程序的设置,windows记录在注册表中,mac中记录在xml中,在unix中,缺乏标准,所以很多都记录在.ini文本文件中 ...
  • 使用QSetting修改配置文件后保存 参考链接: https://stackoverflow.com/questions/16203853/qsettings-reading-ini-file/16224318#16224318 https://doc.qt.io/qt-5/qsettings.html 1:QSetting生成一个配置文件 ...
  • qt配置文件 QSetting使用方法

    千次阅读 2017-11-24 17:11:41
    QT 提供了 QSetting 来读取修改配置文件QSetting 由节、键和值组成, 可以理解为键是节的子集,值是键的内容。配置文件的内容可手动修改,所以在程序里尽量不要去设置它的值(当然创建的时候可以设置初值,手动修
  • qsetting读取ini文件

    2015-12-10 10:17:44
    qsetting可以读取大部分键值类型的文件 用value和setvalude来取值和设定值
  • Qt只QSetting

    2013-10-10 10:51:00
    The QSettings class provides persistent platform-independent ...QSetting基于QVariant。如果是想要内存存储的话,用QMap&lt;QString, QVariant&gt; 。 基本用法 When creating a QSettings objec...
  • QSetting类的使用

    2014-10-13 09:16:52
    1、QSetting类的最基本g
  • 今天看到服务端代码有一个QSetting。一开始以为是STL模板中的Set(弄到QT中改了个名字而已)。仔细一看吓一跳,不是STL模板。是qt特有的一个类。 用来保存或读取一些配置信息用的。看了后,感觉他太强大了,又很...
  • QSetting的用法

    2011-07-03 12:37:00
    QSetting是一个平台无关的可以设置和读取应用程序设置的类用户可能希望应用程序记住自己应用程序的设置,windows记录在注册表中,mac中记录在xml中,在unix中,缺乏标准,所以很多都记录在.ini文本文件中QSetting的...
  • QSetting读取.ini配置文件

    千次阅读 2018-01-26 15:17:31
    QSetting 在qt上读取.ini配置文件,qt内部已经设计了相关的库,就是QSetting。 使用方法 配置文件包括读和写两部分,大同小异 读配置文件 #include&lt;qsettings.h&gt; int main() { //设置...
  • 关于QSetting,一般用于配置文件的存储和读取。 下面封装了一个QSetting的类,我们来看一下吧! 头文件: #ifndef CBSETTINGS_H #define CBSETTINGS_H #include <QObject> #include <QVariant> #...
  • QSetting:Qt读写配置文件实例

    千次阅读 2016-10-17 10:22:05
    QSetting:Qt读写配置文件实例。
  • windows下使用QSetting读取配置文件配置文件读取配置文件 配置文件 使用配置文件配置数据库等,使软件更加灵活。 配置文件如图所示 上图为配置文件格式Socket.ini 读取配置文件 QSettings set("./sqlConfig/Socket....
  • Qt使用QSetting对ini配置文件进行读取和写入 INI文件是Initialization File的缩写,即初始化文件,主要用来保存程序经常用到的一些配置参数。在Qt中可以使用QSetting类来实现ini文件的读取和写入。 一、ini文件...
  • QT之QSetting

    2016-01-14 19:09:50
    QT之QSetting类  用户对应用程序经常有这样的要求:要求它能记住它的 settings ,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是 recent files ,等等这些都可以通过 Qsettings 来实现。 我们知道...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 654
精华内容 261
关键字:

qsetting