增加UI配置项
This commit is contained in:
@@ -8,8 +8,48 @@ ConfigFiles::ConfigFiles(QObject *parent) : QObject(parent)
|
||||
|
||||
|
||||
|
||||
}
|
||||
/**
|
||||
* 读取配置值,若读取失败则使用默认值并写入配置文件
|
||||
* @param group 配置组名
|
||||
* @param key 配置项名
|
||||
* @param defaultValue 读取失败时使用的默认值
|
||||
* @return 读取到的值(或默认值)
|
||||
*/
|
||||
template <typename T>
|
||||
T ConfigFiles::readAndSetDefault(const QString &Path ,const QString& group, const QString& key, const T& defaultValue) {
|
||||
// 检查配置文件是否存在
|
||||
QSettings SystemConfig(Path, QSettings::IniFormat);
|
||||
SystemConfig.setIniCodec("UTF-8"); // 尝试UTF-8编码
|
||||
QFileInfo configCheck(Path);
|
||||
bool fileExists = configCheck.exists() && configCheck.isFile();
|
||||
|
||||
// 读取配置值
|
||||
SystemConfig.beginGroup(group);
|
||||
QVariant value = SystemConfig.value(key);
|
||||
SystemConfig.endGroup();
|
||||
|
||||
// 判断是否读取成功
|
||||
if (fileExists && value.isValid()) {
|
||||
// 读取成功,返回转换后的值
|
||||
return value.value<T>();
|
||||
} else {
|
||||
// 读取失败(文件不存在或键不存在),使用默认值并写入配置
|
||||
if (isDebug) {
|
||||
qDebug() << "配置项" << group << "/" << key << "读取失败,使用默认值:" << defaultValue;
|
||||
}
|
||||
|
||||
// 写入默认值到配置文件
|
||||
SystemConfig.beginGroup(group);
|
||||
SystemConfig.setValue(key, defaultValue);
|
||||
SystemConfig.endGroup();
|
||||
SystemConfig.sync(); // 立即同步到文件
|
||||
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
void ConfigFiles::SystemConfig(){
|
||||
|
||||
QFileInfo checkFile("./ProgramConfig.ini");
|
||||
QSettings File("./ProgramConfig.ini", QSettings::IniFormat);
|
||||
if (checkFile.exists() && checkFile.isFile()) {
|
||||
@@ -23,17 +63,29 @@ void ConfigFiles::SystemConfig(){
|
||||
|
||||
|
||||
QString Path = ConfigurationPath + "系统配置/SystemConfig.ini";
|
||||
QFileInfo SystemConfigCheck(Path);
|
||||
QSettings SystemConfig(Path, QSettings::IniFormat);
|
||||
if (SystemConfigCheck.exists() && SystemConfigCheck.isFile()) {
|
||||
TrailRefreshTime = SystemConfig.value("System/TrailRefreshTime").toUInt();
|
||||
RTSP_Url = SystemConfig.value("System/RTSP_Url").toString();
|
||||
if(isDebug) qDebug()<<"曲线刷新时间(秒):"<<TrailRefreshTime;
|
||||
}else{
|
||||
qCritical()<<"未找到曲线刷新时间配置!";
|
||||
SystemConfig.setValue("System/TrailRefreshTime",10);
|
||||
|
||||
|
||||
// 读取刷新时间配置,失败时自动写入默认值10
|
||||
TrailRefreshTime = readAndSetDefault(Path,"RefreshTime", "TrailRefreshTime(s)", 10u);
|
||||
|
||||
// 读取UI刷新时间,失败时自动写入默认值100
|
||||
UIRefreshTime = readAndSetDefault(Path,"RefreshTime", "UIRefreshTime(ms)", 100u);
|
||||
|
||||
// 读取RTSP地址,失败时自动写入默认URL
|
||||
RTSP_Url = readAndSetDefault(Path,"System", "RTSP_Url", QString("rtsp://admin:sshw1212@192.168.1.64:554/Streaming/Channels/101")
|
||||
);
|
||||
|
||||
// 读取页面名称-按钮名称
|
||||
QString AllPage = readAndSetDefault(Path,"PageName","AllPage",QString("P01#P02#P03#P04#P05#P06#P07#P08#P09#P10#P11#P12.0#P12.1#P12.2#P12.3#P12.4#P12.5#P12.6#P12.7#P12.8#P12.9#P13#P14#P15#P16"));
|
||||
QStringList Pages = AllPage.split('#',Qt::SkipEmptyParts); // 忽略空段
|
||||
QStringList PageNmaes={"主预览","屏蔽条件","油泵设备","截割设备","装载设备","运输设备","液压设备","故障记录","遥控测试","腔内监控","绝缘检测","网络拓扑","IOX1","IOX2","阀控1","电流模块","油质信息","PLC箱1","PLC箱2","PLC箱3","PLC箱4","本地控制","随机图册","参数设置","系统设置"};
|
||||
uint8_t i=0;
|
||||
for (const QString &page : Pages){
|
||||
gPageName[page] = readAndSetDefault(Path,"PageName",page,QString(PageNmaes[i]));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
tsServerAddr ConfigFiles::ReadServerAddr(){
|
||||
tsServerAddr SAddr;
|
||||
QString Path = ConfigurationPath + "OpcUa配置/OpcUa_ServerConfig.ini";
|
||||
|
||||
Reference in New Issue
Block a user