添加文件

This commit is contained in:
zhangsheng 2025-03-09 11:53:05 +08:00
parent 7d2e4714f0
commit 82d84a75e4
8 changed files with 3689 additions and 0 deletions

43
common.cpp Normal file
View File

@ -0,0 +1,43 @@
#include "common.h"
#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QDebug>
#include <QDateTime>
Common::Common() {}
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
// 获取当前日期,并以 "yyyy-MM-dd" 格式创建文件名
QString date = QDateTime::currentDateTime().toString("yyyy-MM-dd");
QString logFileName = QCoreApplication::applicationDirPath() + "\\log\\" + date + ".log"; // 日志文件名为当前日期的日志文件
QFile logFile(logFileName); // 使用日期命名的日志文件
if (logFile.size() > 1024 * 1024 * 10) { // 文件超过 10MB
logFile.rename("app_old.log"); // 重命名日志文件
logFile.setFileName(logFileName); // 创建新文件
}
if (logFile.open(QIODevice::Append | QIODevice::Text)) {
QTextStream out(&logFile);
// 根据日志类型格式化日志
QString logMessage;
switch (type) {
case QtDebugMsg:
logMessage = QString("DEBUG: %1").arg(msg);
break;
case QtWarningMsg:
logMessage = QString("WARNING: %1").arg(msg);
break;
case QtCriticalMsg:
logMessage = QString("CRITICAL: %1").arg(msg);
break;
case QtFatalMsg:
logMessage = QString("FATAL: %1").arg(msg);
break;
}
// 添加时间戳和日志消息
out << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << " " << logMessage << "\n";
}
}

13
common.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef COMMON_H
#define COMMON_H
#include <QByteArray>
#include "data_config.h"
class Common
{
public:
Common();
};
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg);
#endif // COMMON_H

222
relaysetting.cpp Normal file
View File

@ -0,0 +1,222 @@
#include "relaysetting.h"
#include "ui_relaysetting.h"
#include <QDebug>
#include <QList>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QTcpSocket>
RelaySetting::RelaySetting(QWidget *parent)
: QWidget(parent)
, ui(new Ui::RelaySetting)
{
ui->setupUi(this);
readJsonFile(QCoreApplication::applicationDirPath() + "\\config\\main.json");
for (int var = 0; var < map_slot_config.size(); ++var) {
if(map_slot_config[var].slot_type == 30){
ui->comboBox_slot->addItem(QString::number(map_slot_config[var].slot));
}
}
connect(ui->buttonGroup_OK, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_TX_RX, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_1, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_2, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_3, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_4, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_5, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_6, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_7, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_8, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_9, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_10, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_11, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_12, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_13, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_14, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_15, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_16, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_TEST, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
connect(ui->buttonGroup_STATUS, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
this, &RelaySetting::onRadioButtonClicked);
}
RelaySetting::~RelaySetting()
{
delete ui;
}
void RelaySetting::readJsonFile(const QString &filePath)
{
// 创建文件对象
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "Cannot open file for reading:" << filePath;
return;
}
QString content = file.readAll();
file.close();
QByteArray jsonData = content.toUtf8();
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData);
if (jsonDoc.isNull()) {
qDebug() << "Cannot parse JSON document";
return;
}
if (!jsonDoc.isObject() && !jsonDoc.isArray()) {
qDebug() << "JSON document is not an object or an array";
return;
}
int slot_id = 0;
QJsonArray jsonArray = jsonDoc.array();
for (const QJsonValue &value : jsonArray) {
SlotConfig slot_config;
if (value.isObject()) { // 处理数组中的对象,例如每个对象代表一个记录或用户等。
QJsonObject obj = value.toObject();
slot_config.slot = obj["slot"].toInt();
slot_config.slot_type = obj["slot_type"].toInt();
slot_config.chan_display = obj["chan_display"].toString();
slot_config.rack_type = obj["rack_type"].toString();
map_slot_config.insert(slot_id,slot_config);
slot_id ++;
}
}
}
void RelaySetting::onRadioButtonClicked(QAbstractButton *button)
{
QButtonGroup *group = qobject_cast<QButtonGroup *>(sender());
if (!group || !button) return;
qDebug() << "Group:" << group << ", Selected button text:" << button->text();
QTcpSocket socket;
// 连接到服务器
socket.connectToHost(g_strServerIp, 10000);
if (!socket.waitForConnected()) {
qDebug() << "Connection failed!";
return;
}
PackageHead header = { {0xAA, 0x55, 0xAA}, kRelaySetting, sizeof(RelaySettingReq),0,{} };
int slot = ui->comboBox_slot->currentText().toInt();
qDebug() << "slot" << slot <<endl;
RelaySettingReq relay_setting_req;
if(slot == 0)
relay_setting_req.card_id = 0xFF;
else
relay_setting_req.card_id = slot & 0xFF;
QString led_id = group->objectName().mid(12);
qDebug() << "led_id" << led_id <<endl;
if(led_id == "OK")
relay_setting_req.led_id = 0xff;
else if(led_id == "TX_RX")
relay_setting_req.led_id = 0xf1;
else if(led_id == "TEST")
relay_setting_req.led_id = 0xee;
else if(led_id == "STATUS")
relay_setting_req.led_id = 0xe1;
else
relay_setting_req.led_id = led_id.toInt() & 0xFF;
if(button->text() == "OFF")
relay_setting_req.led_operate = 0;
else if(button->text() == "ON")
relay_setting_req.led_operate = 1;
else if(button->text() == "红色")
relay_setting_req.led_operate = 2;
else if(button->text() == "绿色")
relay_setting_req.led_operate = 3;
else if(button->text() == "红色1Hz闪烁" || button->text() == "红色闪烁")
relay_setting_req.led_operate = 4;
else if(button->text() == "红色2Hz闪烁")
relay_setting_req.led_operate = 5;
else if(button->text() == "绿色闪烁")
relay_setting_req.led_operate = 6;
else if(button->text() == "测试")
relay_setting_req.led_operate = 7;
else if(button->text() == "手动")
relay_setting_req.led_operate = 8;
else if(button->text() == "工作")
relay_setting_req.led_operate = 9;
qDebug() << "relay_setting_req.led_operate " << relay_setting_req.led_operate;
char send_buf[20] ={0};
memcpy(send_buf, (char*)&header, sizeof(PackageHead));
memcpy(send_buf + sizeof(PackageHead), (char*)&relay_setting_req, sizeof(RelaySettingReq));
int length = sizeof(PackageHead) + sizeof(RelaySettingReq);
qint64 bytesWritten = socket.write(send_buf, length);
qDebug() << "Server response: " << bytesWritten;
if (socket.waitForReadyRead()) {
QByteArray response = socket.readAll();
PackageHead header;
RelaySettingRsp relay_setting_rsp;
memcpy(&header,response.data(),sizeof(PackageHead));
qDebug() << "header len" << header.len << endl;
memcpy(&relay_setting_rsp,response.data() + sizeof(PackageHead),sizeof(RelaySettingRsp));
qDebug() << "relay_setting_rsp code" << relay_setting_rsp.code << endl;
}
}
void RelaySetting::on_pushButton_status_clicked()
{
QTcpSocket socket;
// 连接到服务器
socket.connectToHost(g_strServerIp, 10000);
if (!socket.waitForConnected()) {
qDebug() << "Connection failed!";
return;
}
PackageHead header = { {0xAA, 0x55, 0xAA}, kRelayStatus, sizeof(RelaySettingReq),0,{} };
int slot = ui->comboBox_slot->currentText().toInt();
qDebug() << "slot" << slot <<endl;
RelayStatusReq relay_status_req;
if(slot == 0)
relay_status_req.card_id = 0xFF;
else
relay_status_req.card_id = slot & 0xFF;
char send_buf[20] ={0};
memcpy(send_buf, (char*)&header, sizeof(PackageHead));
memcpy(send_buf + sizeof(PackageHead), (char*)&relay_status_req, sizeof(RelayStatusReq));
int length = sizeof(PackageHead) + sizeof(RelayStatusReq);
qint64 bytesWritten = socket.write(send_buf, length);
qDebug() << "Server response: " << bytesWritten;
if (socket.waitForReadyRead()) {
QByteArray response = socket.readAll();
PackageHead header;
RelayStatusRsp relay_status_rsp;
memcpy(&header,response.data(),sizeof(PackageHead));
qDebug() << "header len" << header.len << endl;
memcpy(&relay_status_rsp,response.data() + sizeof(PackageHead),sizeof(RelayStatusRsp));
qDebug() << "relay_setting_rsp status" << relay_status_rsp.status << endl;
if(relay_status_rsp.status == 7)
ui->label_status->setText("测试");
else if(relay_status_rsp.status == 8)
ui->label_status->setText("手动");
else if(relay_status_rsp.status == 9)
ui->label_status->setText("工作");
}
}

31
relaysetting.h Normal file
View File

@ -0,0 +1,31 @@
#ifndef RELAYSETTING_H
#define RELAYSETTING_H
#include <QWidget>
#include "data_config.h"
namespace Ui {
class RelaySetting;
}
class RelaySetting : public QWidget
{
Q_OBJECT
public:
explicit RelaySetting(QWidget *parent = nullptr);
~RelaySetting();
private slots:
void onRadioButtonClicked(QAbstractButton *button);
void on_pushButton_status_clicked();
private:
Ui::RelaySetting *ui;
QMap<int,SlotConfig> map_slot_config;
void readJsonFile(const QString &filePath);
};
#endif // RELAYSETTING_H

1336
relaysetting.ui Normal file

File diff suppressed because it is too large Load Diff

230
seismic_monitor.cpp Normal file
View File

@ -0,0 +1,230 @@
#include "seismic_monitor.h"
#include "ui_seismic_monitor.h"
#include <QDebug>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include "acceleration.h"
#include "velocity.h"
#include "radial_vibration.h"
Seismic_monitor::Seismic_monitor(int slot,QWidget *parent) :
QWidget(parent),
ui(new Ui::Seismic_monitor)
{
ui->setupUi(this);
slot_no = slot;
QString slot_no_ = QString("%1").arg(slot_no);
ui->label_slot_no->setText(slot_no_);
QString filePath = QCoreApplication::applicationDirPath() + QString("\\config\\seismic_monitor_slot_%1.json").arg(slot_no);
readJsonFile(filePath);
Init();
}
Seismic_monitor::~Seismic_monitor()
{
delete ui;
}
void Seismic_monitor::readJsonFile(const QString &filePath)
{
// 创建文件对象
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "Cannot open file for reading:" << filePath;
return;
}
QString content = file.readAll();
file.close();
QByteArray jsonData = content.toUtf8();
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData);
if (jsonDoc.isNull()) {
qDebug() << "Cannot parse JSON document";
return;
}
if (!jsonDoc.isObject() && !jsonDoc.isArray()) {
qDebug() << "JSON document is not an object or an array";
return;
}
QJsonObject json_obj = jsonDoc.object();
card_type = json_obj["card_type"].toInt();
QJsonArray chan_array = json_obj["chan"].toArray();
for(int i = 0; i < chan_array.size(); i++){
QJsonObject temp_obj = chan_array[i].toObject();
seismic_monitor[i].id = temp_obj["id"].toInt();
seismic_monitor[i].channel_name = temp_obj["channle_name"].toString();
seismic_monitor[i].standby = temp_obj["standby"].toBool();
seismic_monitor[i].active = temp_obj["active"].toBool();
seismic_monitor[i].rack_type = temp_obj["rack_type"].toString();
seismic_monitor[i].tmr_group = temp_obj["tmr_group"].toString();
seismic_monitor[i].channel_type = temp_obj["channel_type"].toString();
seismic_monitor[i].transducer_name = temp_obj["transducer_name"].toString();
seismic_monitor[i].scale_factor = temp_obj["scale_factor"].toString();
seismic_monitor[i].sample_rate = temp_obj["sample_rate"].toString();
QJsonArray voltage_range_array = temp_obj["normal_voltage_range"].toArray();
seismic_monitor[i].normal_voltage_low = voltage_range_array[0].toDouble();
seismic_monitor[i].normal_voltage_high = voltage_range_array[1].toDouble();
}
}
void Seismic_monitor::Init()
{
for (int i = 0; i < CHANNLE_COUNT; i++) {
if(seismic_monitor[i].id == 1){
if(seismic_monitor[i].channel_type == "acceleration"){
ui->comboBox_chan_type_1->setCurrentText("加速度");
}else if(seismic_monitor[i].channel_type == "velocity"){
ui->comboBox_chan_type_1->setCurrentText("速度");
}else if(seismic_monitor[i].channel_type == "proximeter"){
ui->comboBox_chan_type_1->setCurrentText("径向位移");
}
ui->lineEdit_transducer_name_1->setText(seismic_monitor[i].transducer_name);
ui->doubleSpinBox_scale_factor_1->setValue(seismic_monitor[i].scale_factor.toDouble());
ui->checkBox_enable_1->setCheckable(seismic_monitor[i].active);
ui->doubleSpinBox_low_1->setValue(seismic_monitor[i].normal_voltage_low);
ui->doubleSpinBox_high_1->setValue(seismic_monitor[i].normal_voltage_high);
if(seismic_monitor[i].sample_rate == "32000"){
ui->comboBox_sample_rate_1->setCurrentText("32k");
}
}
if(seismic_monitor[i].id == 2){
if(seismic_monitor[i].channel_type == "acceleration"){
ui->comboBox_chan_type_2->setCurrentText("加速度");
}else if(seismic_monitor[i].channel_type == "velocity"){
ui->comboBox_chan_type_2->setCurrentText("速度");
}else if(seismic_monitor[i].channel_type == "proximeter"){
ui->comboBox_chan_type_2->setCurrentText("径向位移");
}
ui->lineEdit_transducer_name_2->setText(seismic_monitor[i].transducer_name);
ui->doubleSpinBox_scale_factor_2->setValue(seismic_monitor[i].scale_factor.toDouble());
ui->checkBox_enable_2->setCheckable(seismic_monitor[i].active);
ui->doubleSpinBox_low_2->setValue(seismic_monitor[i].normal_voltage_low);
ui->doubleSpinBox_high_2->setValue(seismic_monitor[i].normal_voltage_high);
if(seismic_monitor[i].sample_rate == "32000"){
ui->comboBox_sample_rate_2->setCurrentText("32k");
}
}
if(seismic_monitor[i].id == 3){
if(seismic_monitor[i].channel_type == "acceleration"){
ui->comboBox_chan_type_3->setCurrentText("加速度");
}else if(seismic_monitor[i].channel_type == "velocity"){
ui->comboBox_chan_type_3->setCurrentText("速度");
}else if(seismic_monitor[i].channel_type == "proximeter"){
ui->comboBox_chan_type_3->setCurrentText("径向位移");
}
ui->lineEdit_transducer_name_3->setText(seismic_monitor[i].transducer_name);
ui->doubleSpinBox_scale_factor_3->setValue(seismic_monitor[i].scale_factor.toDouble());
ui->checkBox_enable_3->setCheckable(seismic_monitor[i].active);
ui->doubleSpinBox_low_3->setValue(seismic_monitor[i].normal_voltage_low);
ui->doubleSpinBox_high_3->setValue(seismic_monitor[i].normal_voltage_high);
if(seismic_monitor[i].sample_rate == "32000"){
ui->comboBox_sample_rate_3->setCurrentText("32k");
}
}
if(seismic_monitor[i].id == 4){
if(seismic_monitor[i].channel_type == "acceleration"){
ui->comboBox_chan_type_4->setCurrentText("加速度");
}else if(seismic_monitor[i].channel_type == "velocity"){
ui->comboBox_chan_type_4->setCurrentText("速度");
}else if(seismic_monitor[i].channel_type == "proximeter"){
ui->comboBox_chan_type_4->setCurrentText("径向位移");
}
ui->lineEdit_transducer_name_4->setText(seismic_monitor[i].transducer_name);
ui->doubleSpinBox_scale_factor_4->setValue(seismic_monitor[i].scale_factor.toDouble());
ui->checkBox_enable_4->setCheckable(seismic_monitor[i].active);
ui->doubleSpinBox_low_4->setValue(seismic_monitor[i].normal_voltage_low);
ui->doubleSpinBox_high_4->setValue(seismic_monitor[i].normal_voltage_high);
if(seismic_monitor[i].sample_rate == "32000"){
ui->comboBox_sample_rate_4->setCurrentText("32k");
}
}
}
}
void Seismic_monitor::on_pushButton_confirm_clicked()
{
for (int var = 0; var < CHANNLE_COUNT; ++var){
if(seismic_monitor[var].id == 1){
seismic_monitor[var].transducer_name = ui->lineEdit_transducer_name_1->text();
seismic_monitor[var].scale_factor = QString::number(ui->doubleSpinBox_scale_factor_1->value());
seismic_monitor[var].active = ui->checkBox_enable_1->isChecked();
seismic_monitor[var].sample_rate = ui->comboBox_sample_rate_1->currentText();
seismic_monitor[var].normal_voltage_low = ui->doubleSpinBox_low_1->value();
seismic_monitor[var].normal_voltage_high = ui->doubleSpinBox_high_1->value();
}else if(seismic_monitor[var].id == 2){
seismic_monitor[var].transducer_name = ui->lineEdit_transducer_name_2->text();
seismic_monitor[var].scale_factor = QString::number(ui->doubleSpinBox_scale_factor_2->value());
seismic_monitor[var].active = ui->checkBox_enable_2->isChecked();
seismic_monitor[var].sample_rate = ui->comboBox_sample_rate_2->currentText();
seismic_monitor[var].normal_voltage_low = ui->doubleSpinBox_low_2->value();
seismic_monitor[var].normal_voltage_high = ui->doubleSpinBox_high_2->value();
}else if(seismic_monitor[var].id == 3){
seismic_monitor[var].transducer_name = ui->lineEdit_transducer_name_3->text();
seismic_monitor[var].scale_factor = QString::number(ui->doubleSpinBox_scale_factor_3->value());
seismic_monitor[var].active = ui->checkBox_enable_3->isChecked();
seismic_monitor[var].sample_rate = ui->comboBox_sample_rate_3->currentText();
seismic_monitor[var].normal_voltage_low = ui->doubleSpinBox_low_3->value();
seismic_monitor[var].normal_voltage_high = ui->doubleSpinBox_high_3->value();
}else if(seismic_monitor[var].id == 4){
seismic_monitor[var].transducer_name = ui->lineEdit_transducer_name_4->text();
seismic_monitor[var].scale_factor = QString::number(ui->doubleSpinBox_scale_factor_4->value());
seismic_monitor[var].active = ui->checkBox_enable_4->isChecked();
seismic_monitor[var].sample_rate = ui->comboBox_sample_rate_4->currentText();
seismic_monitor[var].normal_voltage_low = ui->doubleSpinBox_low_4->value();
seismic_monitor[var].normal_voltage_high = ui->doubleSpinBox_high_4->value();
}
}
QJsonObject monitor_obj,item_obj;
QJsonArray chan_array;
for(int i = 0; i < CHANNLE_COUNT;i++){
item_obj["id"] = seismic_monitor[i].id;
item_obj["channel_name"] = seismic_monitor[i].channel_name;
item_obj["standby"] = seismic_monitor[i].standby;
item_obj["active"] = seismic_monitor[i].active;
item_obj["rack_type"] = seismic_monitor[i].rack_type;
item_obj["tmr_group"] = seismic_monitor[i].tmr_group;
item_obj["channel_type"] = seismic_monitor[i].channel_type;
item_obj["transducer_name"] = seismic_monitor[i].transducer_name;
item_obj["scale_factor"] = seismic_monitor[i].scale_factor;
item_obj["sample_rate"] = seismic_monitor[i].sample_rate;
QJsonArray normal_voltage_array;
normal_voltage_array.append(seismic_monitor[i].normal_voltage_low);
normal_voltage_array.append(seismic_monitor[i].normal_voltage_high);
item_obj["normal_voltage_range"] = normal_voltage_array;
chan_array.append(item_obj);
}
monitor_obj["chan"] = chan_array;
monitor_obj["slot"] = slot_no;
monitor_obj["version"] = 1;
monitor_obj["card_type"] = 1;
QJsonDocument jsonDoc;
jsonDoc.setObject(monitor_obj);
QString file_name = QString("\\config\\seismic_monitor_slot_%1.json").arg(slot_no);
QFile file(QCoreApplication::applicationDirPath() + file_name);
file.open(QIODevice::WriteOnly);
file.write(jsonDoc.toJson());
file.close();
}
void Seismic_monitor::on_pushButton_set_default_clicked()
{
}
void Seismic_monitor::on_pushButton_config_1_clicked()
{
for (int i = 0 ;i < CHANNLE_COUNT ; i++) {
if(seismic_monitor[i].id == 1){
if(seismic_monitor[i].channel_type == "acceleration"){
channel = 1;
Acceleration *acceleration = new Acceleration(slot_no,channel,seismic_monitor[i].active);
acceleration->setWindowModality(Qt::ApplicationModal);
acceleration->show();
}
}
}
}

37
seismic_monitor.h Normal file
View File

@ -0,0 +1,37 @@
#ifndef SEISMIC_MONITOR_H
#define SEISMIC_MONITOR_H
#include <QWidget>
#include "data_config.h"
namespace Ui {
class Seismic_monitor;
}
class Seismic_monitor : public QWidget
{
Q_OBJECT
public:
explicit Seismic_monitor(int slot,QWidget *parent = nullptr);
~Seismic_monitor();
int slot_no;
int channel;
private slots:
void on_pushButton_confirm_clicked();
void on_pushButton_set_default_clicked();
void on_pushButton_config_1_clicked();
private:
Ui::Seismic_monitor *ui;
int card_type;
void readJsonFile(const QString &filePath);
SeismicMonitor seismic_monitor[CHANNLE_COUNT];
void Init();
};
#endif // SEISMIC_MONITOR_H

1777
seismic_monitor.ui Normal file

File diff suppressed because it is too large Load Diff