From b300c2bf9d9bf74f6f7c6ce54d036e5df66ecbbe Mon Sep 17 00:00:00 2001 From: JingweiCui Date: Tue, 1 Apr 2025 13:35:56 +0800 Subject: [PATCH] =?UTF-8?q?[refactor]=20=E8=B0=83=E6=95=B4=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - param_service_test.py移动到test目录中 --- .env | 2 +- param_service_test.py | 115 ------------------------------------- test/param_service_test.py | 93 ++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 116 deletions(-) delete mode 100644 param_service_test.py create mode 100644 test/param_service_test.py diff --git a/.env b/.env index 0552471..84a1595 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -PYTHONPATH=d:\python_dev\param_struct_test\param_service +PYTHONPATH=D:\python_dev\param_service\param_service diff --git a/param_service_test.py b/param_service_test.py deleted file mode 100644 index 6317d91..0000000 --- a/param_service_test.py +++ /dev/null @@ -1,115 +0,0 @@ -import sys -from PySide6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout -from params_service import ParamsService, Response - - -class MyComponent: - def __init__(self, parent=None): - pass - - def set_data(self, data): - pass - - -class MyWidget(QWidget, MyComponent): - def __init__(self, parent=None, param_name=None): - super().__init__(parent=parent) - layout = QVBoxLayout() - self.param_name = param_name - self.label1 = QLabel('param_value', self) - self.label2 = QLabel(f'param_name: {self.param_name}', self) - layout.addWidget(self.label1) - layout.addWidget(self.label2) - self.setLayout(layout) - - - def set_data(self, data): - self.label1.setText(str(data[self.param_name])) - - -class MyWindow(QWidget): - def __init__(self): - super().__init__() - - # 设置窗口标题和尺寸 - self.setWindowTitle("PySide6 Example") - self.setFixedSize(300, 800) - - self.test_widget1 = MyWidget(self, "inputPoi[13]") - self.test_widget2 = MyWidget(self, "tuning_parameters.mix_parameters[1].ch_n") - self.test_widget3 = MyWidget(self, "tuning_parameters.mix_parameters[2].ch_n") - self.test_widget4 = MyWidget(self, "tuning_parameters.mix_parameters[3].ch_n") - self.test_widget5 = MyWidget(self, "tuning_parameters.mix_parameters[4].ch_n") - - - # 创建 QLabel、QLineEdit 和 QPushButton 控件 - self.label = QLabel("请输入内容:", self) - self.input_line = QLineEdit(self) - self.button = QPushButton("更新标签", self) - - # 设置按钮点击事件 - self.button.clicked.connect(self.on_button_clicked) - - # 创建垂直布局并添加控件 - layout = QVBoxLayout() - layout.addWidget(self.test_widget1) - layout.addWidget(self.test_widget2) - layout.addWidget(self.test_widget3) - layout.addWidget(self.test_widget4) - layout.addWidget(self.test_widget5) - - layout.addWidget(self.label) - layout.addWidget(self.input_line) - layout.addWidget(self.button) - - # 设置窗口的布局 - self.setLayout(layout) - - self.params_service = ParamsService("127.0.0.1", 12345) - # self.params_service.signal_request_complete.connect(self.on_params_service) - - def on_params_service(self, res: Response): - widget = res.widget - print(res) - # print(res.data) - # widget.set_data(res.data) - - def on_button_clicked(self): - # self.params_service.get_params( - # widget=self.test_widget1, - # param_names=[self.test_widget1.param_name], - # callback=self.on_params_service - # ) - # self.params_service.get_params( - # widget=self.test_widget2, - # param_names=[self.test_widget2.param_name], - # callback=self.on_params_service - # ) - # self.params_service.get_params( - # widget=self.test_widget3, - # param_names=[self.test_widget3.param_name], - # callback=self.on_params_service - # ) - # self.params_service.get_params( - # widget=self.test_widget4, - # param_names=[self.test_widget4.param_name], - # callback=self.on_params_service - # ) - # self.params_service.get_params( - # widget=self.test_widget5, - # param_names=[self.test_widget5.param_name], - # callback=self.on_params_service - # ) - - TEST_PARAM_NAME = "OrderOne_Flag" - self.params_service.get_params( - widget=None, - params=[TEST_PARAM_NAME], - callback=self.on_params_service - ) - -if __name__ == "__main__": - app = QApplication(sys.argv) - window = MyWindow() - window.show() - sys.exit(app.exec()) \ No newline at end of file diff --git a/test/param_service_test.py b/test/param_service_test.py new file mode 100644 index 0000000..4ed3aa9 --- /dev/null +++ b/test/param_service_test.py @@ -0,0 +1,93 @@ +import sys +from PySide6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout +from param_service import ParamsService, Response + + +class MyComponent: + def __init__(self, parent=None): + pass + + def set_data(self, data): + pass + + +class MyWidget(QWidget, MyComponent): + def __init__(self, parent=None, param_name=None): + super().__init__(parent=parent) + layout = QVBoxLayout() + self.param_name = param_name + self.label1 = QLabel('param_value', self) + self.label2 = QLabel(f'param_name: {self.param_name}', self) + layout.addWidget(self.label1) + layout.addWidget(self.label2) + self.setLayout(layout) + + + def set_data(self, data): + self.label1.setText(str(data[self.param_name])) + + +class MyWindow(QWidget): + def __init__(self): + super().__init__() + + # 设置窗口标题和尺寸 + self.setWindowTitle("PySide6 Example") + self.setFixedSize(300, 180) + + + # 创建 QLabel、QLineEdit 和 QPushButton 控件 + self.label = QLabel("请输入参数名称", self) + self.input_line = QLineEdit(self) + self.label_value = QLabel("数值", self) + self.input_line_value = QLineEdit(self) + self.button_get = QPushButton("获取参数", self) + self.button_set = QPushButton("设置参数", self) + + # 设置按钮点击事件 + self.button_get.clicked.connect(self.on_button_clicked) + self.button_set.clicked.connect(self.on_button_set_clicked) + # 创建垂直布局并添加控件 + layout = QVBoxLayout() + + layout.addWidget(self.label) + layout.addWidget(self.input_line) + + layout.addWidget(self.label_value) + layout.addWidget(self.input_line_value) + + layout.addWidget(self.button_get) + layout.addWidget(self.button_set) + + # 设置窗口的布局 + self.setLayout(layout) + + self.params_service = ParamsService("127.0.0.1", 12345) + + def on_params_service(self, res: Response): + print(res.data) + self.input_line_value.setText(str(res.data[self.request_name])) + + def on_button_clicked(self): + self.request_name = self.input_line.text() + self.params_service.get_params( + widget=None, + params=[self.request_name], + callback=self.on_params_service + ) + + def on_button_set_clicked(self): + print("设置参数") + self.request_name = self.input_line.text() + self.request_value = self.input_line_value.text() + self.params_service.set_params( + widget=None, + params=[self.request_name], + callback=self.on_params_service + ) + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = MyWindow() + window.show() + sys.exit(app.exec()) \ No newline at end of file