[update] param_service.py set_params

This commit is contained in:
cuijingwei@brisonus.com 2025-02-21 15:34:15 +08:00
parent f478c09d75
commit 94d755c30b
2 changed files with 49 additions and 33 deletions

View File

@ -65,7 +65,7 @@ class MyWindow(QWidget):
# 设置窗口的布局 # 设置窗口的布局
self.setLayout(layout) self.setLayout(layout)
self.params_service = ParamsService("127.0.0.1", 12345) self.params_service = ParamsService("192.168.5.4", 5000)
# self.params_service.signal_request_complete.connect(self.on_params_service) # self.params_service.signal_request_complete.connect(self.on_params_service)
def on_params_service(self, res: Response): def on_params_service(self, res: Response):
@ -73,29 +73,34 @@ class MyWindow(QWidget):
widget.set_data(res.data) widget.set_data(res.data)
def on_button_clicked(self): def on_button_clicked(self):
self.params_service.get_params( # self.params_service.get_params(
widget=self.test_widget1, # widget=self.test_widget1,
param_names=[self.test_widget1.param_name], # param_names=[self.test_widget1.param_name],
callback=self.on_params_service # callback=self.on_params_service
) # )
self.params_service.get_params( # self.params_service.get_params(
widget=self.test_widget2, # widget=self.test_widget2,
param_names=[self.test_widget2.param_name], # param_names=[self.test_widget2.param_name],
callback=self.on_params_service # callback=self.on_params_service
) # )
self.params_service.get_params( # self.params_service.get_params(
widget=self.test_widget3, # widget=self.test_widget3,
param_names=[self.test_widget3.param_name], # param_names=[self.test_widget3.param_name],
callback=self.on_params_service # callback=self.on_params_service
) # )
self.params_service.get_params( # self.params_service.get_params(
widget=self.test_widget4, # widget=self.test_widget4,
param_names=[self.test_widget4.param_name], # param_names=[self.test_widget4.param_name],
callback=self.on_params_service # callback=self.on_params_service
) # )
self.params_service.get_params( # self.params_service.get_params(
# widget=self.test_widget5,
# param_names=[self.test_widget5.param_name],
# callback=self.on_params_service
# )
self.params_service.set_params(
widget=self.test_widget5, widget=self.test_widget5,
param_names=[self.test_widget5.param_name], params={self.test_widget5.param_name: 10},
callback=self.on_params_service callback=self.on_params_service
) )

View File

@ -155,17 +155,27 @@ class ParamsService(QObject):
def _send_request(self, request: Request): def _send_request(self, request: Request):
"""发送请求到服务器""" """发送请求到服务器"""
try: try:
self.pending_requests[request.token] = request match request.cmd:
case CMD.GET_PARAMS:
self.pending_requests[request.token] = request
request_data = { request_data = {
"cmd": "get_params", "cmd": "get_params",
"token": request.token, "token": request.token,
"data": request.data "data": request.data
} }
json_data = json.dumps(request_data)
json_data = json.dumps(request_data) self.socket.write(json_data.encode('utf-8'))
self.socket.write(json_data.encode('utf-8')) self.socket.flush()
self.socket.flush() case CMD.SET_PARAMS:
request_data = {
"cmd": "set_params",
"token": request.token,
"data": request.data
}
json_data = json.dumps(request_data)
self.socket.write(json_data.encode('utf-8'))
self.socket.flush()
except Exception as e: except Exception as e:
print(f"Error sending request: {e}") print(f"Error sending request: {e}")
@ -235,6 +245,7 @@ class ParamsService(QObject):
token = self.generate_token() token = self.generate_token()
request = Request( request = Request(
token=token, token=token,
cmd=CMD.SET_PARAMS,
widget=widget, widget=widget,
data={"params": params}, data={"params": params},
callback=callback callback=callback