QtApplets-实时读取配置文件

简介: QtApplets-实时读取配置文件

image.pngQtApplets-实时读取配置文件

今天测试小姐姐跑过来,弱弱的问我为什么程序修改了配置文件没有生效,必须重新启动程序才可以,经过我们一番友好的沟通后,测试小姐姐表示要修复一下这个BUG那么就开始搞起来。


文章目录

QtApplets-实时读取配置文件

1 读取配置文件

2 实现'实时'读取

3 效果演示

☞ 源码

关键字: QTimer、QSetting、ini文件、实时读取、Qt


1 读取配置文件

这里不做深层的内容,仅仅研究读取的问题,这个很简单。直接上代码,只有一句是有用的,下面那一句是用来在界面显示的。

void Widget::readConfig()
{
    QSettings *config = new QSettings("./config.ini",QSettings::IniFormat);
    config->beginGroup("TestNode");
    ui->textBrowser->append(config->value("TEST").toString());
    config->endGroup();
}

2 实现’实时’读取

其实说是实时读取,还不如说是定时读取呢,这里我使用了定时器实现,不知道是不是我没有仔细学习QSettings类,是不是应该有部分代码实时可以实时检测配置文件是否发生改变呢,这里贴上完整代码

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QVariant>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("QSettingTimer");
    mTimer = new QTimer;
    connect(mTimer,&QTimer::timeout,this,&Widget::readConfig);
}
Widget::~Widget()
{
    mTimer->stop();
    delete mTimer;
    mTimer = nullptr;
    delete ui;
}
void Widget::on_pushButton_clicked()
{
    readConfig();
}
void Widget::readConfig()
{
    QSettings *config = new QSettings("./config.ini",QSettings::IniFormat);
    config->beginGroup("TestNode");
    ui->textBrowser->append(config->value("TEST").toString());
    config->endGroup();
}
void Widget::on_checkBox_stateChanged(int arg1)
{
    if(arg1 != 0)
    {
        mTimer->start(1000);
    }
    else
    {
        if(mTimer->isActive())
            mTimer->stop();
    }
}

image.pngimage.png

目录
相关文章
|
Java Maven Spring
maven项目,动态读取外部配置文件
maven项目,动态读取外部配置文件
251 0
|
消息中间件 运维 Java
【Log日志】logback.xml动态配置属性值(包括接入的第三方配置)
1如何动态配置Logback的存放路径 我们在开发过程中,会使用到logback.xml 配置来管理日志文件; 比如
|
2月前
|
druid Java 关系型数据库
Spring案例:数据源对象管理及加载properties文件
Spring案例:数据源对象管理及加载properties文件
44 0
|
11月前
|
Java 编译器 数据库连接
通过读取配置文件数据获取数据库连接(如何获取资源文件输入流)
一、好处 实现了数据和代码的分离,解耦 编写的java程序部署到服务器上时,需要打包,如果java代码修改过,就需要重新打包;而使用配置文件则不需要修改代码,所以不用重新打包。 二、实现方式
|
数据安全/隐私保护
LabVIEW保存、读取配置文件
在软件项目开发过程中避免不了要将数据保存到本地,例如,登录信息、账户、密码等。保存数据到本地的方式有很多种,本篇博文主要分享LabVIEW内置的保存、读取配置文件方法。
LabVIEW保存、读取配置文件
|
消息中间件 网络协议 关系型数据库
Java应用程序读取外部配置文件
当我们在服务器上安装一些软件服务时,如 MySQL、Kafka、ES 等,在启动服务的时候,脚本会读取默认路径下的配置文件,如果配置文件没有放到默认的路径下,我们也可以通过参数的方式指定,通过这个配置文件,可以灵活方便的开始某些功能或调整某些参数,不用重新对源码进行修改、编译和发布了。 所以,我们工作当中有时希望可以把配置文件放在程序外,这样就可以做到配置与业务分离,在项目中使用的 properties,这里就说一下如何用 properties 配置文件,默认加载 classpath 下的文件,如果通过参数指定了文件路径就可以使用外部配置了。
|
JSON Java 数据库连接
Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
|
druid Java 测试技术
Spring配置数据源
Spring配置数据源
111 0
Spring配置数据源
Kettle配置数据源时加载外部properties配置文件
Kettle配置数据源时加载外部properties配置文件
|
XML Java 数据格式
SpringIOC源码解析(7)—— xml配置的资源定位、加载、解析、注册全链路分析
调用过程复现: 在DefaultListableBeanFactory的registerBeanDefinition里打上断点,运行Entrance,观察调用栈:
SpringIOC源码解析(7)—— xml配置的资源定位、加载、解析、注册全链路分析