当前位置: 首页 > news >正文

有没有可以做app的网站整站优化提升排名

有没有可以做app的网站,整站优化提升排名,企业网站开发需要多少钱,虚拟主机是指什么Qt 快速保存配置的方法 一、概述二、代码1. QFileHelper.cpp2. QSettingHelper.cpp 三、使用 一、概述 这里分享一下,Qt界面开发时,快速保存界面上一些参数配置的方法。 因为我在做实验的时候,界面上可能涉及到很多参数的配置,我…

Qt 快速保存配置的方法

  • 一、概述
  • 二、代码
    • 1. QFileHelper.cpp
    • 2. QSettingHelper.cpp
  • 三、使用

一、概述

这里分享一下,Qt界面开发时,快速保存界面上一些参数配置的方法。

因为我在做实验的时候,界面上可能涉及到很多参数的配置,我也不大可能自己去记录每一个参数的值,不保存这些,下次启动的时候要自己手输就非常浪费时间,因此我用了Qt的Meta-Object 系统,结合了ObjectName,把配置保存为json文本。这就非常方便的实现了我想要的功能。

为了改动不大,为了避免配置耦合,还是采用分离的宏定义的方式去做会更好一些。暂时没有想到用类的继承去做,有建议的话可以在评论区交流一下呐。

二、代码

1. QFileHelper.cpp

这个函数就是保存和读写文本的通用配置,在写文件的时候,不存在目录的文件也会先创建目录文件的父目录再去写。

bool QFileHelper::writeAllText(const QString &fileName, QString &text)
{QFile file(fileName);QDir dir(fileName);QString parentPath = dir.absolutePath().replace(dir.absolutePath().split("/", QString::SkipEmptyParts).last(), "");if(!dir.exists(parentPath)){if(!dir.mkdir(parentPath)){return false;}}if (!file.open(QIODevice::WriteOnly | QIODevice::Text))return false;QTextStream in(&file);in.setCodec("utf-8");in<<text;QSettingHelper::Instance()->setLastOpenFileDir(QFileInfo(fileName).dir().absolutePath());file.close();return true;
}bool QFileHelper::readAllText(const QString &fileName, QString &text)
{QFile file(fileName);if (!file.open(QIODevice::ReadOnly | QIODevice::Text))return false;QTextStream in(&file);in.setCodec("utf-8");text = in.readAll();QSettingHelper::Instance()->setLastOpenFileDir(QFileInfo(fileName).dir().absolutePath());file.close();return true;
}

2. QSettingHelper.cpp

定义了保存、加载配置的宏,配置文件我是放在 当前应用程序的/config/源文件结构.config

每一个文件用了这个宏都会根据 源文件名(包含路径) 去保存里面的QSPBox、QDoubleSPbox的值。

下面目前没有保存 QLineEdit的值,但是可以继续扩展。

#include <common/QFileHelper.h>
#include <QJsonDocument>
#include <QJsonObject>
#include <QCoreApplication>
#include <QSpinBox>
#include <QDoubleSpinBox>#define LOADCONFIG() \
{\QString json;\QString fileName = QCoreApplication::applicationDirPath() + "/configs/" + QString(__FILE__).split(".")[0] + ".config";\if(QFileHelper::readAllText(fileName, json )){\QJsonDocument jsDoc  = QJsonDocument::fromJson(json.toUtf8());\QJsonObject jsObj = jsDoc.object();\QDoubleSpinBox * d_spbox = nullptr;\QSpinBox * spbox = nullptr;\for(auto it : jsObj.keys()){\QObject * obj = this->findChild<QObject *>(it);\if(!obj) continue;\if(d_spbox = qobject_cast<QDoubleSpinBox*>(obj)){\d_spbox->setValue(jsObj.value(d_spbox->objectName()).toDouble());\}\if(spbox = qobject_cast<QSpinBox*>(obj)){\spbox->setValue(jsObj.value(spbox->objectName()).toInt());\}\}\}\
}#define SAVECONFIG() \
{\QString fileName = QCoreApplication::applicationDirPath() + "/configs/" + QString(__FILE__).split(".")[0] + ".config";\QList<QSpinBox *> spbox_list = this->findChildren<QSpinBox *>();\QList<QDoubleSpinBox *> double_spbox_list = this->findChildren<QDoubleSpinBox *>();\QJsonObject jsObj;\for(auto it : spbox_list ){\jsObj.insert(it->objectName(), it->value());\}\for(auto it : double_spbox_list){\jsObj.insert(it->objectName(), it->value());\}\QJsonDocument jsDoc(jsObj);\QString json =  jsDoc.toJson();\if(QFileHelper::writeAllText(fileName,  json)){\}else{\}\
}

三、使用

因为我只是在构造和析构的时候用了,当然你可以自己定时去保存都可以。

ShapeDetectionWG::ShapeDetectionWG(QWidget *parent) :QWidget(parent),ui(new Ui::ShapeDetectionWG)
{ui->setupUi(this);ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);qRegisterMetaType<Surface_mesh>("Surface_mesh&");//构造函数加载配置LOADCONFIG();
}ShapeDetectionWG::~ShapeDetectionWG()
{//析构前保存配置SAVECONFIG();delete ui;
}

保存的效果如下
在这里插入图片描述
在子目录下也会有对应的配置
在这里插入图片描述
保存的配置如下这种:
在这里插入图片描述
如下图所示,我是在ui文件中去改的,这些键值就是我们设置的对象名,也就是对象查看器那栏的对象名称。因此对象命名好一点对于自己查看是非常有帮助的。
在这里插入图片描述

http://www.mmbaike.com/news/37238.html

相关文章:

  • 网站建设公司的服务公司做网站排名服务热线
  • 素材分享网站源码织梦seo排名优化教程
  • 杭州高端网站制作代发新闻稿最大平台
  • element ui做门户网站注册安全工程师
  • 怎么给网站做开场动画百度贴吧官网app下载
  • wordpress 模板 中文乱码seo优化推广技巧
  • 投资融资理财网站模板促销活动推广语言
  • 领导视察网站建设杭州seo网站推广
  • 凡人网站建设朋友圈营销
  • 网站关键字优化工具晋江怎么交换友情链接
  • 大连承接网站制作百度点击软件名风
  • 杭州设计网站的公司哪家好恢复正常百度
  • 自己建的网站打开的特别慢近期的重大新闻
  • 公司介绍模板ppt宁波专业seo外包
  • 最简单的手机网站制作图们网络推广
  • 网站日均ip过万怎么做自动友链网
  • web新闻网站开发seo诊断专家
  • b2b外贸网站开发网站建设推广优化
  • 网站怎么加入百度网盟seo技术培训泰州
  • 大庆网站优化seo搜索引擎官网
  • 网络绿化网站建设哪家专业什么是核心关键词
  • 网站建设的成本分析百度快速收录办法
  • 制作网站的软件网络营销推广方案3篇
  • 政府网站的构建与运作跨境电商有哪些平台
  • 北滘建网站设计模板网站
  • 寻找完善政府网站建设最近的电脑培训班在哪里
  • 代做课程设计的网站个人在线网站推广
  • 展厅设计参考图百度seo手机
  • 网站rss地址生成深圳网站建设 手机网站建设
  • 网站建设每年有维护费吗小视频网站哪个可以推广