2025-02-21 13:56:29 +08:00
|
|
|
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)
|
|
|
|
|
2025-04-01 10:56:23 +08:00
|
|
|
self.test_widget1 = MyWidget(self, "inputPoi[13]")
|
2025-02-21 13:56:29 +08:00
|
|
|
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)
|
|
|
|
|
2025-04-01 10:56:23 +08:00
|
|
|
self.params_service = ParamsService("127.0.0.1", 12345)
|
2025-02-21 13:56:29 +08:00
|
|
|
# self.params_service.signal_request_complete.connect(self.on_params_service)
|
|
|
|
|
|
|
|
def on_params_service(self, res: Response):
|
|
|
|
widget = res.widget
|
2025-04-01 10:56:23 +08:00
|
|
|
print(res)
|
|
|
|
# print(res.data)
|
|
|
|
# widget.set_data(res.data)
|
2025-02-21 13:56:29 +08:00
|
|
|
|
|
|
|
def on_button_clicked(self):
|
2025-02-21 15:34:15 +08:00
|
|
|
# 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
|
|
|
|
# )
|
2025-04-01 10:56:23 +08:00
|
|
|
|
|
|
|
TEST_PARAM_NAME = "OrderOne_Flag"
|
2025-02-21 22:14:37 +08:00
|
|
|
self.params_service.get_params(
|
2025-04-01 10:56:23 +08:00
|
|
|
widget=None,
|
|
|
|
params=[TEST_PARAM_NAME],
|
2025-02-21 22:14:37 +08:00
|
|
|
callback=self.on_params_service
|
|
|
|
)
|
2025-02-21 13:56:29 +08:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
app = QApplication(sys.argv)
|
|
|
|
window = MyWindow()
|
|
|
|
window.show()
|
|
|
|
sys.exit(app.exec())
|