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 编译器 数据库连接
通过读取配置文件数据获取数据库连接(如何获取资源文件输入流)
一、好处 实现了数据和代码的分离,解耦 编写的java程序部署到服务器上时,需要打包,如果java代码修改过,就需要重新打包;而使用配置文件则不需要修改代码,所以不用重新打包。 二、实现方式
|
Java 编解码
Log4j 2.0在开发中的高级使用详解—读取配置文件(六)
<h3 class="t" style="margin:0px 0px 1px; padding:0px; list-style:none; font-weight:normal; font-size:14px; line-height:1.54; color:rgb(51,51,51); font-family:arial"> log4j中配置日志文件存放的位置不一定在src下面,即根
1469 0
|
Java 数据库连接 数据库
Spring配置多数据源过程
这里使用AOP拦截注解来切换数据源。1.    在数据源配置文件context.xml中增加新的数据源信息,使存在多个数据库服务可以访问。注意区别开jndi名称。2.    在spring配置文件(一般是spring.xml)中增加新数据源的连接配置。
939 0
|
druid Java 关系型数据库
避坑指南:Spring配置数据源的三种方式
避坑指南:Spring配置数据源的三种方式
避坑指南:Spring配置数据源的三种方式
Kettle配置数据源时加载外部properties配置文件
Kettle配置数据源时加载外部properties配置文件
|
SQL
bbossgroups持久层sql配置文件实时加载(热加载)机制介绍
bbossgroups持久层sql配置文件实时加载(热加载)机制介绍 bbossgroups持久层框架支持修改sql配置文件后实时加载功能,本文详细介绍这个机制: 1.概述     在开发环境需要频繁地修改sql配置文件中的sql语句,为了不频繁地启动服务器 增加了sql配置文件实时刷新机制,定时检测sql配置文件是否有被修改,有则重新加载sql 配置文件,没有就不重新加载。
865 0
|
Java 数据库连接 Apache
flume - 组件对象初始化过程(2)
概述  虽然在上一篇博文《flume - 启动过程分析(1)》我们已经了解了flume相关组件的配置的加载以及启动过程,但却遗漏了组件初始化的过程,也就是说缺少了根据配置生成组件的过程,这篇文章就是为了弥补这个过程。
1153 0
|
JSON Java 数据库连接
Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
|
存储 C语言
【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )
【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 写出或更新配置文件 | 读取配置文件 )
175 0

热门文章

最新文章