DiagramDesigner/diagramCavas/source/measureSettingDlg.cpp

681 lines
21 KiB
C++
Raw Normal View History

2025-07-04 18:47:49 +08:00
#include <QMessageBox>
2026-01-16 18:40:46 +08:00
#include <QJsonDocument>
2025-07-04 18:47:49 +08:00
#include "measureSettingDlg.h"
#include "bayInfoDlg.h"
#include "graphicsDataModel/fixedPortsModel.h"
2026-01-23 17:39:46 +08:00
#include "bayMeasureDlg.h"
2025-07-04 18:47:49 +08:00
#include "baseProperty.h"
2026-01-23 17:39:46 +08:00
#include "basePropertyManager.h"
2025-07-04 18:47:49 +08:00
#include "ui_measureSettingDlg.h"
MeasureSettingDlg::MeasureSettingDlg(QWidget *parent)
: QDialog(parent)
, ui(new Ui::measureSettingDlg)
2026-01-23 17:39:46 +08:00
,_pBayComponent(nullptr)
,_pBayMeasure(nullptr)
,_pEventStrategy(nullptr)
,_pEventYXGroup(nullptr)
,_curMode(0)
2025-07-04 18:47:49 +08:00
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
setStyleSheet("background-color: white;");
2025-07-04 18:47:49 +08:00
initial();
}
MeasureSettingDlg::~MeasureSettingDlg()
{
delete ui;
}
void MeasureSettingDlg::initial()
{
_pEventStrategy = new QButtonGroup(this);
_pEventStrategy->addButton(ui->rb_eventOff,0);
_pEventStrategy->addButton(ui->rb_eventOn,1);
_pEventYXGroup = new QButtonGroup(this);
_pEventYXGroup->addButton(ui->rb_yxDown,0);
_pEventYXGroup->addButton(ui->rb_yxRise,1);
connect(_pEventStrategy,&QButtonGroup::idClicked,this,&MeasureSettingDlg::onEventStrategyChange);
2025-07-04 18:47:49 +08:00
connect(ui->btn_ok,&QPushButton::clicked,this,&MeasureSettingDlg::onOkClicked);
connect(ui->btn_cancel,&QPushButton::clicked,this,&MeasureSettingDlg::onCancelClicked);
connect(ui->btn_addPara,&QPushButton::clicked,this,&MeasureSettingDlg::onAddParaClicked);
connect(ui->btn_delPara,&QPushButton::clicked,this,&MeasureSettingDlg::onDelParaClicked);
2025-07-04 18:47:49 +08:00
connect(ui->cb_tag,&QComboBox::textActivated,this,&MeasureSettingDlg::onTagChanged);
connect(ui->cb_name,&QComboBox::textActivated,this,&MeasureSettingDlg::onNameChanged);
connect(ui->cb_rule,&QComboBox::currentIndexChanged, this,&MeasureSettingDlg::onRuleIndexChanged);
connect(ui->cb_type,&QComboBox::currentIndexChanged, this,&MeasureSettingDlg::onTypeIndexChanged);
2025-07-04 18:47:49 +08:00
// 设置正则验证器1-5000整数
QRegularExpression regExp("^(?:[1-9]|[1-9]\\d{1,2}|[1-4]\\d{3}|5000)$");
QRegularExpressionValidator *validator = new QRegularExpressionValidator(regExp,ui->le_size);
ui->le_size->setValidator(validator);
ui->cb_rule->setItemData(0, 1);
ui->cb_rule->setItemData(1, 2);
2026-01-19 18:28:55 +08:00
ui->gb_yx->setVisible(false);
2025-07-04 18:47:49 +08:00
}
2026-01-16 18:40:46 +08:00
void MeasureSettingDlg::showDlg(int type,propertyStateInfo proInfo,bool isDouble)
2025-07-04 18:47:49 +08:00
{
2026-01-16 18:40:46 +08:00
ui->label_wind->setVisible(false);
ui->cb_windIndex->setVisible(false);
//setDbCheckVisible(false);
if(isDouble)
setDbTagVisible(true);
else
setDbTagVisible(false);
_isDouble = isDouble;
if(type == 4){ //ct,显示index选择
ui->label_wind->setVisible(true);
ui->cb_windIndex->setVisible(true);
ui->cb_windIndex->clear();
QMap<int,CtExtraInfo> map;
/*QString jsonString = proInfo.defaultValue.toString();
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toUtf8().data());
QJsonObject obj = jsonDocument.object();*/
QJsonObject obj = safeToJsonObject(proInfo.defaultValue);
if(obj.contains("winding")){
QJsonArray arr = obj["winding"].toArray();
for (QJsonValueRef jsonObj : arr)
{
CtExtraInfo info;
QJsonObject node = jsonObj.toObject();
info.index = node["index"].toInt();
info.scope = node["scope"].toString();
info.accuracy= node["accuracy"].toString();
info.volume = node["volume"].toString();
info.ratio = node["ratio"].toDouble();
info.polarity= node["polarity"].toBool();
map.insert(info.index,info);
ui->cb_windIndex->addItem(QString::number(info.index));
}
_tempCtMap = map;
}
}
else if(type == 5){ //pt,显示index选择
ui->label_wind->setVisible(true);
ui->cb_windIndex->setVisible(true);
ui->cb_windIndex->clear();
QMap<int,PtExtraInfo> map;
/*QString jsonString = proInfo.defaultValue.toString();
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toUtf8().data());
QJsonObject obj = jsonDocument.object();*/
QJsonObject obj = safeToJsonObject(proInfo.defaultValue);
if(obj.contains("winding")){
QJsonArray arr = obj["winding"].toArray();
for (QJsonValueRef jsonObj : arr)
{
PtExtraInfo info;
QJsonObject node = jsonObj.toObject();
info.index = node["index"].toInt();
info.scope = node["scope"].toString();
info.accuracy= node["accuracy"].toString();
info.volume = node["volume"].toString();
info.star = node["star"].toString();
info.ratio = node["ratio"].toDouble();
info.polarity= node["polarity"].toBool();
map.insert(info.index,info);
ui->cb_windIndex->addItem(QString::number(info.index));
}
_tempPtMap = map;
}
}
ui->cb_windIndex->setCurrentIndex(0);
_curComponentType = type;
_curMode = 0;
2025-07-04 18:47:49 +08:00
clearData();
QStringList lstTag;
QStringList lstName;
show();
2026-01-23 17:39:46 +08:00
if(_nParentType == 0){
if(_pBayComponent){
QString curItemName; //当前元件名称
auto pItemData = _pBayComponent->getProperty();
curItemName = pItemData->name();
2026-01-23 17:39:46 +08:00
auto lst = _pBayComponent->getValidType();
for(auto& item:lst){
item.tag = item.tag+"_"+curItemName;
item.name = item.name+"_"+curItemName;
lstTag.append(item.tag);
lstName.append(item.name);
}
ui->cb_tag->addItems(lstTag);
ui->cb_name->addItems(lstName);
2025-07-04 18:47:49 +08:00
2026-01-23 17:39:46 +08:00
BaseProperty* pro = _pBayComponent->getProperty();
if(pro){
ui->le_s1->setText(pro->station());
ui->le_s2->setText(pro->station());
}
}
}
else if(_nParentType == 1){
QString curBayName;
if(_pBayMeasure){
auto pItemBay = _pBayMeasure->getBayProperty();
curBayName = pItemBay->name();
auto lst = _pBayMeasure->getValidType();
for(auto& item:lst){
item.tag = item.tag+"_"+curBayName;
item.name = item.name+"_"+curBayName;
lstTag.append(item.tag);
lstName.append(item.name);
}
ui->cb_tag->addItems(lstTag);
ui->cb_name->addItems(lstName);
BayProperty* pro = _pBayMeasure->getBayProperty(); //间隔不直接包含站,找到间隔所属设备的站
if(pro){
QList<QUuid> lst = pro->getLstComponent();
QString sStation;
if(!lst.isEmpty()){
auto pPro = BasePropertyManager::instance().findEntityData(lst.first());
if(pPro){
sStation = pPro->station();
}
}
ui->le_s1->setText(sStation);
ui->le_s2->setText(sStation);
}
2025-07-18 18:26:13 +08:00
}
2025-07-04 18:47:49 +08:00
}
}
2026-01-19 18:28:55 +08:00
void MeasureSettingDlg::showDlg(MeasurementInfo info,propertyStateInfo proInfo,bool isDouble,MeasurementInfo symmetryInfo)
{
2026-01-16 18:40:46 +08:00
ui->label_wind->setVisible(false);
ui->cb_windIndex->setVisible(false);
2026-01-19 18:28:55 +08:00
if(isDouble){
2026-01-16 18:40:46 +08:00
setDbTagVisible(true);
2026-01-19 18:28:55 +08:00
ui->le_dbTag->setText(symmetryInfo.tag);
ui->le_dbName->setText(symmetryInfo.name);
ui->le_dbTag->setReadOnly(true);
ui->le_dbName->setReadOnly(true);
}
2026-01-16 18:40:46 +08:00
else
setDbTagVisible(false);
_isDouble = isDouble;
if(info.sWindType == "ct"){ //ct,显示index选择
ui->label_wind->setVisible(true);
ui->cb_windIndex->setVisible(true);
ui->cb_windIndex->clear();
QMap<int,CtExtraInfo> map;
QJsonObject obj = safeToJsonObject(proInfo.defaultValue);
if(obj.contains("winding")){
QJsonArray arr = obj["winding"].toArray();
for (QJsonValueRef jsonObj : arr)
{
CtExtraInfo info;
QJsonObject node = jsonObj.toObject();
info.index = node["index"].toInt();
info.scope = node["scope"].toString();
info.accuracy= node["accuracy"].toString();
info.volume = node["volume"].toString();
info.ratio = node["ratio"].toDouble();
info.polarity= node["polarity"].toBool();
map.insert(info.index,info);
ui->cb_windIndex->addItem(QString::number(info.index));
}
ui->cb_windIndex->setCurrentText(QString::number(info.nIndex));
_tempCtMap = map;
}
}
else if(info.sWindType == "pt"){ //pt,显示index选择
ui->label_wind->setVisible(true);
ui->cb_windIndex->setVisible(true);
ui->cb_windIndex->clear();
QMap<int,PtExtraInfo> map;
QJsonObject obj = safeToJsonObject(proInfo.defaultValue);
if(obj.contains("winding")){
QJsonArray arr = obj["winding"].toArray();
for (QJsonValueRef jsonObj : arr)
{
PtExtraInfo info;
QJsonObject node = jsonObj.toObject();
info.index = node["index"].toInt();
info.scope = node["scope"].toString();
info.accuracy= node["accuracy"].toString();
info.volume = node["volume"].toString();
info.star = node["star"].toString();
info.ratio = node["ratio"].toDouble();
info.polarity= node["polarity"].toBool();
map.insert(info.index,info);
ui->cb_windIndex->addItem(QString::number(info.index));
}
ui->cb_windIndex->setCurrentText(QString::number(info.nIndex));
_tempPtMap = map;
}
}
if(info.sWindType == "ct"){
_curComponentType = 4;
}
else if(info.sWindType == "pt"){
_curComponentType = 5;
}
show();
_curMode = 1;
clearData();
2026-01-19 18:28:55 +08:00
ui->cb_tag->blockSignals(true);
ui->cb_name->blockSignals(true);
ui->cb_tag->addItem(info.tag);
ui->cb_name->addItem(info.name);
ui->cb_tag->setCurrentText(info.tag);
ui->cb_name->setCurrentText(info.name);
ui->cb_type->setCurrentIndex(info.type);
ui->le_size->setText(QString::number(info.size));
if(info.nSource == 1){ //3611
ui->cb_rule->setCurrentIndex(0);
ui->le_s1->setText(info.sStation);
2026-01-09 17:43:58 +08:00
ui->le_d1->setText(info.sDevice);
if(info.type == 0){ //遥测
ui->cb_channelYC->setCurrentText(info.sChannel);
}
else if(info.type == 1){ //遥信
ui->cb_channelYX->setCurrentText(info.sChannel);
}
else if(info.type == 2){ //遥控
ui->cb_channelYK->setCurrentText(info.sChannel);
}
}
else if(info.nSource == 2){ //104
ui->cb_rule->setCurrentIndex(1);
ui->le_s2->setText(info.sStation);
ui->le_packet->setText(QString::number(info.nPacket));
ui->le_offset->setText(QString::number(info.nOffset));
}
if(info.bEnable){
ui->rb_eventOn->setChecked(true);
}
else{
ui->rb_eventOff->setChecked(true);
}
ui->le_measure->setText(ui->cb_type->currentText());
if(info.type == 0){ //遥测
if(info.mapTE.contains("upup")){
ui->checkBox_upup->setChecked(true);
ui->dbsb_upup->setValue(info.mapTE["upup"]);
}
else{
ui->checkBox_upup->setChecked(false);
}
if(info.mapTE.contains("up")){
ui->checkBox_up->setChecked(true);
ui->dbsb_up->setValue(info.mapTE["up"]);
}
else{
ui->checkBox_up->setChecked(false);
}
if(info.mapTE.contains("down")){
ui->checkBox_down->setChecked(true);
ui->dbsb_down->setValue(info.mapTE["down"]);
}
else{
ui->checkBox_down->setChecked(false);
}
if(info.mapTE.contains("downdown")){
ui->checkBox_downdown->setChecked(true);
ui->dbsb_downdown->setValue(info.mapTE["downdown"]);
}
else{
ui->checkBox_downdown->setChecked(false);
}
}
else if(info.type == 1){ //遥信
if(info.sEdge == "raising"){ //上升沿
ui->rb_yxRise->setChecked(true);
}
else if(info.sEdge == "falling"){ //上升沿
ui->rb_yxDown->setChecked(true);
}
}
ui->cb_command->setCurrentText(info.sCommand);
for(auto &para:info.lstParameter){
ui->lst_parameter->addItem(para);
}
}
2025-07-04 18:47:49 +08:00
void MeasureSettingDlg::clearData()
{
if(ui->cb_tag->count())
ui->cb_tag->clear();
if(ui->cb_name->count())
ui->cb_name->clear();
ui->le_size->clear();
ui->cb_type->setCurrentIndex(0);
ui->cb_rule->setCurrentIndex(0);
ui->rb_eventOff->setChecked(true);
ui->checkBox_upup->setChecked(false);
ui->checkBox_up->setChecked(false);
ui->checkBox_down->setChecked(false);
ui->checkBox_downdown->setChecked(false);
ui->dbsb_upup->clear();
ui->dbsb_up->clear();
ui->dbsb_down->clear();
ui->dbsb_downdown->clear();
ui->cb_command->setCurrentIndex(0);
ui->le_parameter->clear();
ui->lst_parameter->clear();
2025-07-04 18:47:49 +08:00
}
2026-01-16 18:40:46 +08:00
/*void MeasureSettingDlg::setDbCheckVisible(bool val)
{
if(val){
ui->label_dbCheck->setVisible(true);
ui->cB_dbCheck->setVisible(true);
}
else{
ui->label_dbCheck->setVisible(false);
ui->cB_dbCheck->setVisible(false);
}
}*/
void MeasureSettingDlg::setDbTagVisible(bool val)
{
2026-01-19 18:28:55 +08:00
ui->le_dbTag->clear();
ui->le_dbName->clear();
2026-01-16 18:40:46 +08:00
if(val){
ui->label_dbTag->setVisible(true);
ui->le_dbTag->setVisible(true);
ui->label_dbName->setVisible(true);
ui->le_dbName->setVisible(true);
}
else{
ui->label_dbTag->setVisible(false);
ui->le_dbTag->setVisible(false);
ui->label_dbName->setVisible(false);
ui->le_dbName->setVisible(false);
}
}
QJsonObject MeasureSettingDlg::safeToJsonObject(const QVariant& var) {
switch (var.typeId()) {
case QMetaType::QJsonObject:
return var.toJsonObject();
case QMetaType::QString: {
QJsonParseError error;
auto doc = QJsonDocument::fromJson(
var.toString().toUtf8(),
&error
);
if (error.error == QJsonParseError::NoError)
return doc.object();
break;
}
default:
break;
}
return QJsonObject();
}
2025-07-04 18:47:49 +08:00
void MeasureSettingDlg::onOkClicked()
{
MeasurementInfo info;
info.tag = ui->cb_tag->currentText();
info.name = ui->cb_name->currentText();
info.type = ui->cb_type->currentIndex();
2025-07-04 18:47:49 +08:00
info.size = ui->le_size->text().toInt();
info.nSource = ui->cb_rule->currentData().toInt();
if(info.nSource == 1){ //cl3611
info.sStation = ui->le_s1->text();
2026-01-09 17:43:58 +08:00
info.sDevice = ui->le_d1->text();
}
else if(info.nSource == 2){
info.sStation = ui->le_s2->text();
}
if(info.type == 0)
info.sChannel = ui->cb_channelYC->currentText();
else if(info.type == 1)
info.sChannel = ui->cb_channelYX->currentText();
else if(info.type == 2)
info.sChannel = ui->cb_channelYK->currentText();
info.nPacket = ui->le_packet->text().toInt(); //包号
info.nOffset = ui->le_offset->text().toInt(); //偏移量
if(_pEventStrategy){ //事件策略开关
info.bEnable = _pEventStrategy->checkedId();
}
if(ui->checkBox_upup->isChecked()){
info.mapTE.insert("upup",ui->dbsb_upup->value());
}
if(ui->checkBox_up->isChecked()){
info.mapTE.insert("up",ui->dbsb_up->value());
}
if(ui->checkBox_downdown->isChecked()){
info.mapTE.insert("downdown",ui->dbsb_downdown->value());
}
if(ui->checkBox_down->isChecked()){
info.mapTE.insert("down",ui->dbsb_down->value());
}
if(_pEventYXGroup->checkedId() == 0){
info.sEdge = "falling";
}
else if(_pEventYXGroup->checkedId() == 1){
info.sEdge = "raising";
}
info.sCommand = ui->cb_command->currentText();
for(int i = 0;i < ui->lst_parameter->count();++i){
QListWidgetItem *item = ui->lst_parameter->item(i);
info.lstParameter.append(item->text());
2025-07-04 18:47:49 +08:00
}
2026-01-16 18:40:46 +08:00
if(_curComponentType == 4 || _curComponentType == 5){
int nNumber;
QString sNumber = ui->cb_windIndex->currentText();
nNumber = sNumber.isEmpty()?-1:sNumber.toInt();
if(nNumber != -1){
if(_curComponentType == 4){ //ct
info.sWindType = "ct";
info.nIndex = nNumber;
info.nRatio = _tempCtMap.value(nNumber).ratio;
info.nPolarity = _tempCtMap.value(nNumber).polarity;
}
else if(_curComponentType == 5){ //pt
info.sWindType = "pt";
info.nIndex = nNumber;
info.nRatio = _tempPtMap.value(nNumber).ratio;
info.nPolarity = _tempPtMap.value(nNumber).polarity;
}
}
}
2026-01-23 17:39:46 +08:00
if(_nParentType == 0){
if(_pBayComponent){
if(_isDouble)
info.sSymmetry = ui->le_dbName->text(); //与double互相记录
_pBayComponent->addMeasure(info,_curMode);
}
2026-01-16 18:40:46 +08:00
2026-01-23 17:39:46 +08:00
if(_isDouble){
MeasurementInfo dbInfo;
dbInfo = info;
dbInfo.tag = ui->le_dbTag->text();
dbInfo.name = ui->le_dbName->text();
dbInfo.nPolarity = -info.nPolarity;
dbInfo.sSymmetry = info.name; //与source互相记录
2026-01-16 18:40:46 +08:00
2026-01-23 17:39:46 +08:00
if(_pBayComponent)
_pBayComponent->addMeasure(dbInfo,_curMode);
}
}
else if(_nParentType == 1){
if(_pBayMeasure){
_pBayMeasure->addMeasure(info,_curMode);
}
2026-01-16 18:40:46 +08:00
}
2026-01-19 18:28:55 +08:00
ui->cb_tag->blockSignals(false);
ui->cb_name->blockSignals(false);
ui->le_dbTag->setReadOnly(false);
ui->le_dbName->setReadOnly(false);
2025-07-04 18:47:49 +08:00
hide();
}
void MeasureSettingDlg::onCancelClicked()
{
2026-01-19 18:28:55 +08:00
ui->cb_tag->blockSignals(false);
ui->cb_name->blockSignals(false);
2025-07-04 18:47:49 +08:00
hide();
}
void MeasureSettingDlg::onTagChanged(const QString& str)
{
2026-01-23 17:39:46 +08:00
QList<measureAttributeType> lst;
QString curName;
if(_nParentType == 0){
if(_pBayComponent){
lst = _pBayComponent->getValidType();
auto pItemData = _pBayComponent->getProperty();
curName = "_"+pItemData->name();
}
2026-01-16 18:40:46 +08:00
}
2026-01-23 17:39:46 +08:00
else if(_nParentType == 1){
if(_pBayMeasure){
lst = _pBayMeasure->getValidType();
auto pItemBay = _pBayMeasure->getBayProperty();
curName = "_"+pItemBay->name();
}
}
2026-01-19 18:28:55 +08:00
QString name;
2025-07-04 18:47:49 +08:00
for(auto& item:lst){
2026-01-23 17:39:46 +08:00
if(item.tag+curName == str){
name = item.name+curName;
2026-01-19 18:28:55 +08:00
ui->cb_name->setCurrentText(name);
2026-01-16 18:40:46 +08:00
break;
2025-07-04 18:47:49 +08:00
}
}
2026-01-16 18:40:46 +08:00
if(_isDouble){
ui->le_dbTag->setText(str+"double");
2026-01-19 18:28:55 +08:00
ui->le_dbName->setText(name+"对称");
2026-01-16 18:40:46 +08:00
}
2025-07-04 18:47:49 +08:00
}
void MeasureSettingDlg::onNameChanged(const QString& str)
{
2026-01-23 17:39:46 +08:00
QList<measureAttributeType> lst;
QString curName;
if(_nParentType == 0){
if(_pBayComponent){
lst = _pBayComponent->getValidType();
auto pItemData = _pBayComponent->getProperty();
curName = "_"+pItemData->name();
}
2026-01-16 18:40:46 +08:00
}
2026-01-23 17:39:46 +08:00
else if(_nParentType == 1){
if(_pBayMeasure){
lst = _pBayMeasure->getValidType();
auto pItemBay = _pBayMeasure->getBayProperty();
curName = "_"+pItemBay->name();
}
}
2026-01-19 18:28:55 +08:00
QString tag;
2025-07-04 18:47:49 +08:00
for(auto& item:lst){
2026-01-23 17:39:46 +08:00
if(item.name+curName == str){
tag = item.tag+curName;
2026-01-19 18:28:55 +08:00
ui->cb_tag->setCurrentText(tag);
2026-01-16 18:40:46 +08:00
break;
2025-07-04 18:47:49 +08:00
}
}
2026-01-16 18:40:46 +08:00
if(_isDouble){
2026-01-19 18:28:55 +08:00
ui->le_dbTag->setText(tag+"double");
2026-01-16 18:40:46 +08:00
ui->le_dbName->setText(str+"对称");
}
2025-07-04 18:47:49 +08:00
}
void MeasureSettingDlg::onRuleIndexChanged(int n)
{
ui->sw_type->setCurrentIndex(n);
}
void MeasureSettingDlg::onTypeIndexChanged(int n)
{
switch (n) {
case 0: //遥测
ui->sw_channel->setCurrentIndex(0);
ui->gb_yc->setVisible(true);
ui->gb_yx->setVisible(false);
break;
case 1: //遥信
ui->sw_channel->setCurrentIndex(1);
ui->gb_yc->setVisible(false);
ui->gb_yx->setVisible(true);
break;
case 2: //遥控
ui->sw_channel->setCurrentIndex(2);
ui->gb_yc->setVisible(false);
ui->gb_yx->setVisible(false);
break;
default:
ui->gb_yc->setVisible(false);
ui->gb_yx->setVisible(false);
break;
}
ui->le_measure->setText(ui->cb_type->currentText());
}
void MeasureSettingDlg::onAddParaClicked()
{
QString str = ui->le_parameter->text();
auto lst = ui->lst_parameter->findItems(str,Qt::MatchExactly);
if(lst.isEmpty()){ //列表中不存在
ui->lst_parameter->addItem(str);
}
}
void MeasureSettingDlg::onDelParaClicked()
{
auto pItem = ui->lst_parameter->takeItem(ui->lst_parameter->currentRow());
if(pItem)
delete pItem;
}
void MeasureSettingDlg::onEventStrategyChange(int n)
{
if(n == 0){ //不启用
ui->sw_event->setCurrentIndex(0);
}
else if(n == 1){ //启用
ui->sw_event->setCurrentIndex(1);
}
}
2025-12-19 18:28:13 +08:00
void MeasureSettingDlg::onHttpDataUpdated(HttpRecommandInfo info)
{
//
}