diff --git a/component/widget_filter/__pycache__/audio_filter_componet.cpython-313.pyc b/component/widget_filter/__pycache__/audio_filter_componet.cpython-313.pyc index 7268953..65c9024 100644 Binary files a/component/widget_filter/__pycache__/audio_filter_componet.cpython-313.pyc and b/component/widget_filter/__pycache__/audio_filter_componet.cpython-313.pyc differ diff --git a/component/widget_filter/audio_filter_componet.py b/component/widget_filter/audio_filter_componet.py index 7616712..ed26f2b 100644 --- a/component/widget_filter/audio_filter_componet.py +++ b/component/widget_filter/audio_filter_componet.py @@ -2,7 +2,7 @@ from PySide6.QtWidgets import (QWidget, QDialog, QVBoxLayout, QComboBox, QPushBu QLabel, QTableWidgetItem, QAbstractScrollArea, QHBoxLayout, QStyledItemDelegate, QCheckBox, QHeaderView, QSlider) from PySide6.QtCore import Qt, Signal, QEvent -from PySide6.QtGui import QPainter, QColor, QPen, QBrush, QPainterPath, QIcon, QPixmap +from PySide6.QtGui import QPainter, QColor, QPen, QBrush, QPainterPath, QIcon, QPixmap, QDoubleValidator from PySide6.QtCore import QFile import sys @@ -169,6 +169,24 @@ class AudioFilterWidget(QWidget): self.ui = Ui_Widget() self.ui.setupUi(self) + # 添加验证器限制输入范围为0-20 + validator = QDoubleValidator(0, 20, 2) + validator.setNotation(QDoubleValidator.StandardNotation) + self.ui.lineEdit_11.setValidator(validator) + self.ui.lineEdit_11.textChanged.connect(lambda text: self._validate_input(self.ui.lineEdit_11, 0, 20)) + + # 添加验证器限制输入范围为-99到12 + volume_validator = QDoubleValidator(-99, 12, 2) + volume_validator.setNotation(QDoubleValidator.StandardNotation) + self.ui.lineEdit_10.setValidator(volume_validator) + self.ui.lineEdit_10.textChanged.connect(lambda text: self._validate_input(self.ui.lineEdit_10, -99, 12)) + + # 添加验证器限制输入范围为-99到12 + volume_validator = QDoubleValidator(0, 1, 2) # 参数为(最小值, 最大值, 小数位数) + volume_validator.setNotation(QDoubleValidator.StandardNotation) + self.ui.lineEdit_12.setValidator(volume_validator) + self.ui.lineEdit_13.setValidator(volume_validator) + # 添加slope的固定刻度值 self.slope_values = [6, 12, 18, 24, 30, 36] @@ -1369,6 +1387,21 @@ class AudioFilterWidget(QWidget): self.ui.verticalSlider_3.setValue(0) self.ui.verticalSlider_4.setValue(0) + def _validate_input(self, line_edit, min_val, max_val): + """验证并限制输入值在指定范围内""" + try: + if not line_edit.text(): + return + + value = float(line_edit.text()) + if value > max_val: + line_edit.setText(str(max_val)) + elif value < min_val: + line_edit.setText(str(min_val)) + except ValueError: + # 如果转换失败(非数字输入),保留原值 + pass + if __name__ == "__main__": diff --git a/data/projects/params/aaa_abc.csv b/data/projects/params/aaa_abc.csv index 71cd347..0e7c132 100644 --- a/data/projects/params/aaa_abc.csv +++ b/data/projects/params/aaa_abc.csv @@ -2,8 +2,8 @@ parameter,value dataset.audio_mode,0 dataset.send_action,0 dataset.tuning_parameters.mix_parameters[0].ch_n,0 -dataset.tuning_parameters.mix_parameters[0].mix_left_data,1.0 -dataset.tuning_parameters.mix_parameters[0].mix_right_data,1.0 +dataset.tuning_parameters.mix_parameters[0].mix_left_data,0.1 +dataset.tuning_parameters.mix_parameters[0].mix_right_data,1 dataset.tuning_parameters.mix_parameters[1].ch_n,1 dataset.tuning_parameters.mix_parameters[1].mix_left_data,0.0 dataset.tuning_parameters.mix_parameters[1].mix_right_data,0.0 @@ -872,7 +872,7 @@ dataset.tuning_parameters.delay_parameters[4].delay_data,0.0 dataset.tuning_parameters.delay_parameters[5].ch_n,5 dataset.tuning_parameters.delay_parameters[5].delay_data,0.0 dataset.tuning_parameters.volume_parameters[0].ch_n,0 -dataset.tuning_parameters.volume_parameters[0].vol_data,10.0 +dataset.tuning_parameters.volume_parameters[0].vol_data,12 dataset.tuning_parameters.volume_parameters[1].ch_n,1 dataset.tuning_parameters.volume_parameters[1].vol_data,0.0 dataset.tuning_parameters.volume_parameters[2].ch_n,2