add some callbacks.

This commit is contained in:
pandx 2025-03-28 10:17:18 +08:00
parent f7cf832d9a
commit 306db57a47
12 changed files with 561 additions and 285 deletions

View File

@ -8,8 +8,7 @@
Acceleration::Acceleration(int slot_no_, int channel_, bool active, QWidget *parent) : Acceleration::Acceleration(int slot_no_, int channel_, bool active, QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::Acceleration) ui(new Ui::Acceleration) {
{
ui->setupUi(this); ui->setupUi(this);
slot_no = slot_no_; slot_no = slot_no_;
channel = channel_; channel = channel_;
@ -17,23 +16,49 @@ Acceleration::Acceleration(int slot_no_,int channel_,bool active,QWidget *parent
QString slot = QString("%1").arg(slot_no); QString slot = QString("%1").arg(slot_no);
ui->label_channel->setText(chan); ui->label_channel->setText(chan);
ui->label_slot->setText(slot); ui->label_slot->setText(slot);
if(active) if (active) {
ui->label_active->setText("(启用)"); ui->label_active->setText("(启用)");
else } else {
ui->label_active->setText("(停用)"); ui->label_active->setText("(停用)");
}
QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel); QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_filter); readJsonFile(filePath_filter);
QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\acceleration_variables_%2.json").arg(slot_no).arg(channel); QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\acceleration_variables_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_variables); readJsonFile(filePath_variables);
Init(); Init();
connect(ui->checkBox_1x_ampl, &QCheckBox::toggled, this, &Acceleration::on_1x_ampl_toggled);
connect(ui->checkBox_2x_ampl, &QCheckBox::toggled, this, &Acceleration::on_2x_ampl_toggled);
} }
Acceleration::~Acceleration() Acceleration::~Acceleration() {
{
delete ui; delete ui;
} }
void Acceleration::readJsonFile(const QString &filePath)
{ void Acceleration::on_1x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_1x_value_range->setEnabled(true);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_1x_value_range->setEnabled(false);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(false);
}
void Acceleration::on_2x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_2x_value_range->setEnabled(true);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_2x_value_range->setEnabled(false);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(false);
}
void Acceleration::readJsonFile(const QString &filePath) {
// 创建文件对象 // 创建文件对象
QFile file(filePath); QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
@ -63,7 +88,6 @@ void Acceleration::readJsonFile(const QString &filePath)
filter[i].checked = temp_obj["checked"].toBool(); filter[i].checked = temp_obj["checked"].toBool();
} }
} else if (filePath.contains("acceleration_variables_")) { } else if (filePath.contains("acceleration_variables_")) {
QJsonArray variables_array = json_obj["variables"].toArray(); QJsonArray variables_array = json_obj["variables"].toArray();
for (int i = 0; i < variables_array.size(); i++) { for (int i = 0; i < variables_array.size(); i++) {
QJsonObject temp_obj = variables_array[i].toObject(); QJsonObject temp_obj = variables_array[i].toObject();
@ -102,8 +126,7 @@ void Acceleration::readJsonFile(const QString &filePath)
alert_variables.comparision_percentage = json_obj["comparision_percentage"].toInt(); alert_variables.comparision_percentage = json_obj["comparision_percentage"].toInt();
} }
} }
void Acceleration::Init() void Acceleration::Init() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].checked) { if (filter[i].checked) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
@ -153,8 +176,7 @@ void Acceleration::Init()
ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage); ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage);
} }
void Acceleration::on_pushButton_confirm_clicked() void Acceleration::on_pushButton_confirm_clicked() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
filter[i].checked = ui->checkBox_band_pass->isChecked(); filter[i].checked = ui->checkBox_band_pass->isChecked();
@ -201,7 +223,6 @@ void Acceleration::on_pushButton_confirm_clicked()
alert_variables.trip_multiply = ui->doubleSpinBox_trip_multiply->value(); alert_variables.trip_multiply = ui->doubleSpinBox_trip_multiply->value();
alert_variables.comparision = ui->comboBox_comparision->currentText(); alert_variables.comparision = ui->comboBox_comparision->currentText();
alert_variables.comparision_percentage = ui->spinBox_comparision_percentage->value(); alert_variables.comparision_percentage = ui->spinBox_comparision_percentage->value();
QJsonObject filter_obj, variables_obj; QJsonObject filter_obj, variables_obj;
QJsonArray filter_array; QJsonArray filter_array;
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
@ -275,14 +296,11 @@ void Acceleration::on_pushButton_confirm_clicked()
} }
void Acceleration::on_pushButton_set_default_clicked() void Acceleration::on_pushButton_set_default_clicked() {
{
} }
void Acceleration::on_pushButton_cancel_clicked() void Acceleration::on_pushButton_cancel_clicked() {
{
this->close(); this->close();
} }

View File

@ -8,8 +8,7 @@ namespace Ui {
class Acceleration; class Acceleration;
} }
class Acceleration : public QWidget class Acceleration : public QWidget {
{
Q_OBJECT Q_OBJECT
public: public:
@ -24,6 +23,8 @@ private slots:
void on_pushButton_set_default_clicked(); void on_pushButton_set_default_clicked();
void on_pushButton_cancel_clicked(); void on_pushButton_cancel_clicked();
void on_1x_ampl_toggled(bool checked);
void on_2x_ampl_toggled(bool checked);
private: private:
Ui::Acceleration *ui; Ui::Acceleration *ui;

View File

@ -18,6 +18,10 @@ KeyPhase::KeyPhase(int slot_no_, QWidget *parent)
QString filePath_keyphase = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\keyphase.json").arg(slot_no); QString filePath_keyphase = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\keyphase.json").arg(slot_no);
readJsonFile(filePath_keyphase); readJsonFile(filePath_keyphase);
Init(); Init();
connect(ui->radioButton_manual_threshold_1, &QRadioButton::toggled, this, &KeyPhase::on_manual_threshold_1_clicked);
connect(ui->radioButton_manual_threshold_2, &QRadioButton::toggled, this, &KeyPhase::on_manual_threshold_2_clicked);
connect(ui->radioButton_manual_threshold_3, &QRadioButton::toggled, this, &KeyPhase::on_manual_threshold_3_clicked);
connect(ui->radioButton_manual_threshold_4, &QRadioButton::toggled, this, &KeyPhase::on_manual_threshold_4_clicked);
} }
KeyPhase::~KeyPhase() { KeyPhase::~KeyPhase() {
@ -28,6 +32,46 @@ void KeyPhase::on_pushButton_cancel_clicked() {
this->close(); this->close();
} }
void KeyPhase::on_manual_threshold_1_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_1->setEnabled(true);
ui->doubleSpinBox_hysteresis_1->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_1->setEnabled(false);
ui->doubleSpinBox_hysteresis_1->setEnabled(false);
}
void KeyPhase::on_manual_threshold_2_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_2->setEnabled(true);
ui->doubleSpinBox_hysteresis_2->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_2->setEnabled(false);
ui->doubleSpinBox_hysteresis_2->setEnabled(false);
}
void KeyPhase::on_manual_threshold_3_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_3->setEnabled(true);
ui->doubleSpinBox_hysteresis_3->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_3->setEnabled(false);
ui->doubleSpinBox_hysteresis_3->setEnabled(false);
}
void KeyPhase::on_manual_threshold_4_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_4->setEnabled(true);
ui->doubleSpinBox_hysteresis_4->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_4->setEnabled(false);
ui->doubleSpinBox_hysteresis_4->setEnabled(false);
}
void KeyPhase::readJsonFile(const QString &filePath) { void KeyPhase::readJsonFile(const QString &filePath) {
QFile file(filePath); QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {

View File

@ -18,7 +18,10 @@ class KeyPhase : public QDialog {
private slots: private slots:
void on_pushButton_confirm_clicked(); void on_pushButton_confirm_clicked();
void on_pushButton_cancel_clicked(); void on_pushButton_cancel_clicked();
void on_manual_threshold_1_clicked(bool checked);
void on_manual_threshold_2_clicked(bool checked);
void on_manual_threshold_3_clicked(bool checked);
void on_manual_threshold_4_clicked(bool checked);
private: private:
Ui::KeyPhase *ui; Ui::KeyPhase *ui;
Tachometer_Variables keyphase_variables[4]; Tachometer_Variables keyphase_variables[4];

View File

@ -387,6 +387,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_24"> <widget class="QLabel" name="label_24">
<property name="geometry"> <property name="geometry">
@ -442,6 +451,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -782,6 +794,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_33"> <widget class="QLabel" name="label_33">
<property name="geometry"> <property name="geometry">
@ -837,6 +858,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -1229,6 +1253,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_48"> <widget class="QLabel" name="label_48">
<property name="geometry"> <property name="geometry">
@ -1284,6 +1317,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -1579,6 +1615,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_55"> <widget class="QLabel" name="label_55">
<property name="geometry"> <property name="geometry">
@ -1634,6 +1679,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>

View File

@ -8,8 +8,7 @@
Radial_vibration::Radial_vibration(int slot_no_, int channel_, bool active, QWidget *parent) Radial_vibration::Radial_vibration(int slot_no_, int channel_, bool active, QWidget *parent)
: QWidget(parent) : QWidget(parent)
, ui(new Ui::Radial_vibration) , ui(new Ui::Radial_vibration) {
{
ui->setupUi(this); ui->setupUi(this);
slot_no = slot_no_; slot_no = slot_no_;
channel = channel_; channel = channel_;
@ -17,23 +16,75 @@ Radial_vibration::Radial_vibration(int slot_no_,int channel_,bool active,QWidget
QString slot = QString("%1").arg(slot_no); QString slot = QString("%1").arg(slot_no);
ui->label_channel->setText(chan); ui->label_channel->setText(chan);
ui->label_slot->setText(slot); ui->label_slot->setText(slot);
if(active) if (active) {
ui->label_active->setText("(启用)"); ui->label_active->setText("(启用)");
else } else {
ui->label_active->setText("(停用)"); ui->label_active->setText("(停用)");
}
QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel); QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_filter); readJsonFile(filePath_filter);
QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\radial_vibration_variables_%2.json").arg(slot_no).arg(channel); QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\radial_vibration_variables_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_variables); readJsonFile(filePath_variables);
Init(); Init();
connect(ui->checkBox_1x_ampl, &QCheckBox::toggled, this, &Radial_vibration::on_1x_ampl_toggled);
connect(ui->checkBox_2x_ampl, &QCheckBox::toggled, this, &Radial_vibration::on_2x_ampl_toggled);
connect(ui->checkBox_not_1x_ampl, &QCheckBox::toggled, this, &Radial_vibration::on_not1x_ampl_toggled);
connect(ui->checkBox_smax_ampl, &QCheckBox::toggled, this, &Radial_vibration::on_smax_ampl_toggled);
} }
Radial_vibration::~Radial_vibration() Radial_vibration::~Radial_vibration() {
{
delete ui; delete ui;
} }
void Radial_vibration::readJsonFile(const QString &filePath)
{ void Radial_vibration::on_pushButton_cancel_clicked() {
this->close();
}
void Radial_vibration::on_1x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_1x_value_range->setEnabled(true);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_1x_value_range->setEnabled(false);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(false);
}
void Radial_vibration::on_2x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_2x_value_range->setEnabled(true);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_2x_value_range->setEnabled(false);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(false);
}
void Radial_vibration::on_not1x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_not_1x_ampl->setEnabled(true);
ui->doubleSpinBox_not_1x_ampl_clamp->setEnabled(true);
return;
}
ui->comboBox_not_1x_ampl->setEnabled(false);
ui->doubleSpinBox_not_1x_ampl_clamp->setEnabled(false);
}
void Radial_vibration::on_smax_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_smax_range->setEnabled(true);
ui->doubleSpinBox_smax_clamp->setEnabled(true);
return;
}
ui->comboBox_smax_range->setEnabled(false);
ui->doubleSpinBox_smax_clamp->setEnabled(false);
}
void Radial_vibration::readJsonFile(const QString &filePath) {
// 创建文件对象 // 创建文件对象
QFile file(filePath); QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
@ -103,8 +154,7 @@ void Radial_vibration::readJsonFile(const QString &filePath)
} }
} }
void Radial_vibration::Init() void Radial_vibration::Init() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
ui->checkBox_band_pass->setChecked(filter[i].checked); ui->checkBox_band_pass->setChecked(filter[i].checked);
@ -159,8 +209,7 @@ void Radial_vibration::Init()
ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage); ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage);
} }
void Radial_vibration::on_pushButton_confirm_clicked() void Radial_vibration::on_pushButton_confirm_clicked() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].checked) { if (filter[i].checked) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
@ -289,8 +338,6 @@ void Radial_vibration::on_pushButton_confirm_clicked()
} }
void Radial_vibration::on_pushButton_set_default_clicked() void Radial_vibration::on_pushButton_set_default_clicked() {
{
} }

View File

@ -7,8 +7,7 @@ namespace Ui {
class Radial_vibration; class Radial_vibration;
} }
class Radial_vibration : public QWidget class Radial_vibration : public QWidget {
{
Q_OBJECT Q_OBJECT
public: public:
@ -18,9 +17,14 @@ public:
int channel; int channel;
private slots: private slots:
void on_pushButton_confirm_clicked(); void on_pushButton_confirm_clicked();
void on_pushButton_cancel_clicked();
void on_pushButton_set_default_clicked(); void on_pushButton_set_default_clicked();
void on_1x_ampl_toggled(bool checked);
void on_2x_ampl_toggled(bool checked);
void on_not1x_ampl_toggled(bool checked);
void on_smax_ampl_toggled(bool checked);
private: private:
Ui::Radial_vibration *ui; Ui::Radial_vibration *ui;

View File

@ -19,11 +19,56 @@ Tachometer::Tachometer(int slot_no_, QWidget *parent)
QString filePath_tachometer = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\tachometer.json").arg(slot_no); QString filePath_tachometer = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\tachometer.json").arg(slot_no);
readJsonFile(filePath_tachometer); readJsonFile(filePath_tachometer);
Init(); Init();
connect(ui->radioButton_manual_threshold_1, &QRadioButton::toggled, this, &Tachometer::on_manual_threshold_1_clicked);
connect(ui->radioButton_manual_threshold_2, &QRadioButton::toggled, this, &Tachometer::on_manual_threshold_2_clicked);
connect(ui->radioButton_manual_threshold_3, &QRadioButton::toggled, this, &Tachometer::on_manual_threshold_3_clicked);
connect(ui->radioButton_manual_threshold_4, &QRadioButton::toggled, this, &Tachometer::on_manual_threshold_4_clicked);
} }
Tachometer::~Tachometer() { Tachometer::~Tachometer() {
delete ui; delete ui;
} }
void Tachometer::on_manual_threshold_1_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_1->setEnabled(true);
ui->doubleSpinBox_hysteresis_1->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_1->setEnabled(false);
ui->doubleSpinBox_hysteresis_1->setEnabled(false);
}
void Tachometer::on_manual_threshold_2_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_2->setEnabled(true);
ui->doubleSpinBox_hysteresis_2->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_2->setEnabled(false);
ui->doubleSpinBox_hysteresis_2->setEnabled(false);
}
void Tachometer::on_manual_threshold_3_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_3->setEnabled(true);
ui->doubleSpinBox_hysteresis_3->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_3->setEnabled(false);
ui->doubleSpinBox_hysteresis_3->setEnabled(false);
}
void Tachometer::on_manual_threshold_4_clicked(bool checked) {
if (checked) {
ui->doubleSpinBox_threshold_4->setEnabled(true);
ui->doubleSpinBox_hysteresis_4->setEnabled(true);
return;
}
ui->doubleSpinBox_threshold_4->setEnabled(false);
ui->doubleSpinBox_hysteresis_4->setEnabled(false);
}
void Tachometer::readJsonFile(const QString &filePath) { void Tachometer::readJsonFile(const QString &filePath) {
QFile file(filePath); QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
@ -167,7 +212,6 @@ void Tachometer::Init() {
} }
} }
} }
void Tachometer::on_pushButton_confirm_clicked() { void Tachometer::on_pushButton_confirm_clicked() {
for (int i = 0; i < CHANNLE_COUNT; i++) { for (int i = 0; i < CHANNLE_COUNT; i++) {
if (tachometer_variables[i].id == 1) { if (tachometer_variables[i].id == 1) {
@ -262,8 +306,6 @@ void Tachometer::on_pushButton_confirm_clicked() {
file.write(byte_array); file.write(byte_array);
file.close(); file.close();
} }
void Tachometer::on_pushButton_cancel_clicked() { void Tachometer::on_pushButton_cancel_clicked() {
this->close(); this->close();
} }

View File

@ -17,7 +17,10 @@ class Tachometer : public QDialog {
private slots: private slots:
void on_pushButton_confirm_clicked(); void on_pushButton_confirm_clicked();
void on_pushButton_cancel_clicked(); void on_pushButton_cancel_clicked();
void on_manual_threshold_1_clicked(bool checked);
void on_manual_threshold_2_clicked(bool checked);
void on_manual_threshold_3_clicked(bool checked);
void on_manual_threshold_4_clicked(bool checked);
private: private:
Ui::Tachometer *ui; Ui::Tachometer *ui;

View File

@ -435,6 +435,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_24"> <widget class="QLabel" name="label_24">
<property name="geometry"> <property name="geometry">
@ -490,6 +499,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -1237,6 +1249,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_29"> <widget class="QLabel" name="label_29">
<property name="geometry"> <property name="geometry">
@ -1292,6 +1313,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -1791,6 +1815,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_36"> <widget class="QLabel" name="label_36">
<property name="geometry"> <property name="geometry">
@ -1846,6 +1879,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>
@ -2348,6 +2384,15 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="minimum">
<double>-50.000000000000000</double>
</property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>-5.000000000000000</double>
</property>
</widget> </widget>
<widget class="QLabel" name="label_41"> <widget class="QLabel" name="label_41">
<property name="geometry"> <property name="geometry">
@ -2403,6 +2448,9 @@
<property name="decimals"> <property name="decimals">
<number>1</number> <number>1</number>
</property> </property>
<property name="maximum">
<double>50.000000000000000</double>
</property>
<property name="value"> <property name="value">
<double>2.000000000000000</double> <double>2.000000000000000</double>
</property> </property>

View File

@ -8,8 +8,7 @@
Velocity::Velocity(int slot_no_, int channel_, bool active, QWidget *parent) Velocity::Velocity(int slot_no_, int channel_, bool active, QWidget *parent)
: QWidget(parent) : QWidget(parent)
, ui(new Ui::Velocity) , ui(new Ui::Velocity) {
{
ui->setupUi(this); ui->setupUi(this);
slot_no = slot_no_; slot_no = slot_no_;
channel = channel_; channel = channel_;
@ -17,23 +16,53 @@ Velocity::Velocity(int slot_no_,int channel_,bool active,QWidget *parent)
QString slot = QString("%1").arg(slot_no); QString slot = QString("%1").arg(slot_no);
ui->label_channel->setText(chan); ui->label_channel->setText(chan);
ui->label_slot->setText(slot); ui->label_slot->setText(slot);
if(active) if (active) {
ui->label_active->setText("(启用)"); ui->label_active->setText("(启用)");
else } else {
ui->label_active->setText("(停用)"); ui->label_active->setText("(停用)");
}
QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel); QString filePath_filter = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\filter_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_filter); readJsonFile(filePath_filter);
QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\velocity_variables_%2.json").arg(slot_no).arg(channel); QString filePath_variables = QCoreApplication::applicationDirPath() + QString("\\config\\%1\\velocity_variables_%2.json").arg(slot_no).arg(channel);
readJsonFile(filePath_variables); readJsonFile(filePath_variables);
Init(); Init();
connect(ui->checkBox_1x_ampl, &QCheckBox::toggled, this, &Velocity::on_1x_ampl_toggled);
connect(ui->checkBox_2x_ampl, &QCheckBox::toggled, this, &Velocity::on_2x_ampl_toggled);
} }
Velocity::~Velocity() Velocity::~Velocity() {
{
delete ui; delete ui;
} }
void Velocity::readJsonFile(const QString &filePath)
{ void Velocity::on_pushButton_cancel_clicked() {
this->close();
}
void Velocity::on_1x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_1x_value_range->setEnabled(true);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_1x_value_range->setEnabled(false);
ui->doubleSpinBox_1x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_1x_phase_lag_clamp->setEnabled(false);
}
void Velocity::on_2x_ampl_toggled(bool checked) {
if (checked) {
ui->comboBox_2x_value_range->setEnabled(true);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(true);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(true);
return;
}
ui->comboBox_2x_value_range->setEnabled(false);
ui->doubleSpinBox_2x_ampl_clamp->setEnabled(false);
ui->doubleSpinBox_2x_phase_lag_clamp->setEnabled(false);
}
void Velocity::readJsonFile(const QString &filePath) {
// 创建文件对象 // 创建文件对象
QFile file(filePath); QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
@ -63,7 +92,6 @@ void Velocity::readJsonFile(const QString &filePath)
filter[i].checked = temp_obj["checked"].toBool(); filter[i].checked = temp_obj["checked"].toBool();
} }
} else if (filePath.contains("velocity_variables_")) { } else if (filePath.contains("velocity_variables_")) {
QJsonArray variables_array = json_obj["variables"].toArray(); QJsonArray variables_array = json_obj["variables"].toArray();
for (int i = 0; i < variables_array.size(); i++) { for (int i = 0; i < variables_array.size(); i++) {
QJsonObject temp_obj = variables_array[i].toObject(); QJsonObject temp_obj = variables_array[i].toObject();
@ -102,8 +130,7 @@ void Velocity::readJsonFile(const QString &filePath)
alert_variables.comparision_percentage = json_obj["comparision_percentage"].toInt(); alert_variables.comparision_percentage = json_obj["comparision_percentage"].toInt();
} }
} }
void Velocity::Init() void Velocity::Init() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].checked) { if (filter[i].checked) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
@ -151,10 +178,8 @@ void Velocity::Init()
ui->doubleSpinBox_trip_multiply->setValue(alert_variables.trip_multiply); ui->doubleSpinBox_trip_multiply->setValue(alert_variables.trip_multiply);
ui->comboBox_comparision->setCurrentText(alert_variables.comparision); ui->comboBox_comparision->setCurrentText(alert_variables.comparision);
ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage); ui->spinBox_comparision_percentage->setValue(alert_variables.comparision_percentage);
} }
void Velocity::on_pushButton_confirm_clicked() void Velocity::on_pushButton_confirm_clicked() {
{
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
if (filter[i].type == "band_pass") { if (filter[i].type == "band_pass") {
filter[i].checked = ui->checkBox_band_pass->isChecked(); filter[i].checked = ui->checkBox_band_pass->isChecked();
@ -281,10 +306,3 @@ void Velocity::on_pushButton_confirm_clicked()
variables_file.close(); variables_file.close();
this->close(); this->close();
} }
void Velocity::on_pushButton_cancel_clicked()
{
this->close();
}

View File

@ -8,8 +8,7 @@ namespace Ui {
class Velocity; class Velocity;
} }
class Velocity : public QWidget class Velocity : public QWidget {
{
Q_OBJECT Q_OBJECT
public: public:
@ -20,8 +19,9 @@ public:
private slots: private slots:
void on_pushButton_confirm_clicked(); void on_pushButton_confirm_clicked();
void on_pushButton_cancel_clicked(); void on_pushButton_cancel_clicked();
void on_1x_ampl_toggled(bool checked);
void on_2x_ampl_toggled(bool checked);
private: private:
Ui::Velocity *ui; Ui::Velocity *ui;