添加配置,未完成

This commit is contained in:
hm
2020-09-29 15:14:56 +08:00
parent 33f3eeeb87
commit 7b1551734a
7 changed files with 151 additions and 3 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ include (./MissionUI/MissionUI.pri)
include (./MenuBarUI/MenuBarUI.pri)
include (./CommandUI/CommandUI.pri)
include (./CheckUI/CheckUI.pri)
include (./Config/Config.pri)
+2 -2
View File
@@ -56,6 +56,8 @@ CommandUI::CommandUI(QWidget *parent) :
file.close();
//查找默认的值
//载入json
loadCommandJson(CommandFile);
@@ -71,8 +73,6 @@ CommandUI::CommandUI(QWidget *parent) :
btn->setText(info.toObject().find(_TextJsonKey).value().toString());
//btn->setMinimumSize(CMDwidth,CMDheight);
//btn->resize(CMDwidth,CMDheight);
btn->setFixedSize(CMDwidth,CMDheight);
ui->gridLayout_Command->addWidget(btn,
+95
View File
@@ -0,0 +1,95 @@
#include "Config.h"
Config::Config()
{
qDebug() << "Config Operation";
QDir *Dir = new QDir;
if(!Dir->exists("./Config"))
if(Dir->mkdir("./Config"))//如果文件夹不存在就新建
{
qInfo() << "create config dir";
}
delete Dir;
Dir = nullptr;
}
void Config::~Config()
{
}
QString Config::getDefaultCommandFile()
{
}
void Config::setDefaultCommandFile(QString file)
{
}
void Config::loadJson(const QString& jsonFilename)
{
if (jsonFilename.isEmpty()) {
return;
}
qDebug() << "Loading " << jsonFilename;
QFile jsonFile(jsonFilename);
if (!jsonFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
qWarning() << "Unable to open file" << jsonFilename << jsonFile.errorString();
return;
}
QByteArray bytes = jsonFile.readAll();
jsonFile.close();
QJsonParseError jsonParseError;
QJsonDocument doc = QJsonDocument::fromJson(bytes, &jsonParseError);
if (jsonParseError.error != QJsonParseError::NoError) {
qWarning() << jsonFilename << "Unable to open json document" << jsonParseError.errorString();
return;
}
QJsonObject json = doc.object();
CMD_version = json.value(_versionJsonKey).toInt();
qDebug() << "command version :" << CMD_version;
CMDwidth = json.value(_WidthJsonKey).toInt();
CMDheight = json.value(_HeightJsonKey).toInt();
QJsonValue jsonValue = json.value(_CommandButtonJsonKey);
if (!jsonValue.isArray()) {
qWarning() << jsonFilename << "_CommandButtonJsonKey not array";
return;
}
CMD_infoArray = jsonValue.toArray();
for(QJsonValue info: CMD_infoArray) {
if (!info.isObject()) {
qWarning() << jsonFilename << "mavCmdArray should contain objects";
return;
}
}
}
+26
View File
@@ -0,0 +1,26 @@
#ifndef CONFIG_H
#define CONFIG_H
#include <QObject>
#include "QDir"
#include "QJsonArray"
#include "QJsonDocument"
#include "QJsonObject"
#include "QJsonParseError"
class Config
{
Q_OBJECT
public:
explicit Config(QObject *parent = nullptr);
~Config();
QString getDefaultCommandFile();
void setDefaultCommandFile(QString file);
};
#endif // CONFIG_H
+27
View File
@@ -0,0 +1,27 @@
QT += opengl
QT += network
QT += sql
QT += svg
QT += quickwidgets
QT += quick
QT += qml
QT += texttospeech
HEADERS += \
$$PWD/Config.h
SOURCES += \
$$PWD/Config.cpp