def updateStatus(self, status_dict): """更新状态数据""" if not self.mainEngine: return if not self.initVarMonitors: w = QtWidgets.QWidget() self.monitor_vbox = QtWidgets.QVBoxLayout() strategy_names = status_dict.keys() sorted_strategy_names = sorted(strategy_names) for k in sorted_strategy_names: monitor = StrategyMonitorWidget(name=k, mainEngine=self.mainEngine, parent=self) self.strategy_monitors[k] = monitor self.monitor_vbox.addWidget(monitor) w.setLayout(self.monitor_vbox) self.scrollArea.setWidget(w) self.initVarMonitors = True for k, v in status_dict.items(): if k in self.strategy_monitors: monitor = self.strategy_monitors[k] monitor.updateStatus(v) else: monitor = StrategyMonitorWidget(name=k, mainEngine=self.mainEngine, parent=self) self.strategy_monitors[k] = monitor if self.monitor_vbox is not None: self.monitor_vbox.addWidget(monitor) monitor.updateStatus(v)
def updateStatus(self, status_dict): """更新状态数据""" if not self.mainEngine: return if not self.initVarMonitors: w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() for k, v in status_dict.items(): monitor = StrategyMonitorWidget(name=k, mainEngine=self.mainEngine, parent=self) #height = 65 #monitor.setFixedHeight(height) self.strategy_monitors[k] = monitor vbox.addWidget(monitor) w.setLayout(vbox) self.scrollArea.setWidget(w) self.initVarMonitors = True for k, v in status_dict.items(): if k in self.strategy_monitors: monitor = self.strategy_monitors[k] monitor.updateStatus(v)
def initStrategyManager(self): """初始化策略管理组件界面""" w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() for name in list(self.ctaEngine.strategyDict.keys()): strategyManager = CtaStrategyManager(self.ctaEngine, self.eventEngine, name) vbox.addWidget(strategyManager) vbox.addStretch() w.setLayout(vbox) self.scrollArea.setWidget(w)
def initStrategyManager(self): """初始化策略管理组件界面""" w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() for name in self.cmaEngine.strategyDict.keys(): # 为每一个策略实例,创建对应的管理组件实例 strategyManager = CmaStrategyManager(self.cmaEngine, self.eventEngine, name) vbox.addWidget(strategyManager) sleep(0.2) vbox.addStretch() w.setLayout(vbox) self.scrollArea.setWidget(w)
def initStrategyManager(self): """初始化策略管理组件界面""" w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() l = self.account.getStrategyNames() for name in l: strategyManager = AShStrategyManager(self.account, self._eventChannel, name) vbox.addWidget(strategyManager) vbox.addStretch() w.setLayout(vbox) self.scrollArea.setWidget(w)
def initStrategyManager(self): """初始化策略管理组件界面""" w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() for name in sorted(self.arbEngine.strategyDict.keys()): if name not in self.nameList: strategyManager = ArbStrategyManager(self.arbEngine, self.eventEngine, name) self.strategyManagers[name] = strategyManager else: strategyManager = self.strategyManagers[name] vbox.addWidget(strategyManager) self.nameList.append(name) vbox.addStretch() w.setLayout(vbox) self.scrollArea.setWidget(w)
def load_rpc_servers(self): """从vt_Setting.Json加载所有RPC服务器信息""" if self.rpc_servers_loaded: QtWidgets.QMessageBox.warning(self, u'Already Loaded') return try: zmqAddressDict = globalSetting['ZMQ'] w = QtWidgets.QWidget() vbox = QtWidgets.QVBoxLayout() for k, v in zmqAddressDict.items(): if k == 'CTP_Post': continue reqAddress = v['ReqAddress'] pubAddress = v['PubAddress'] subscribes = v['SubscribeTopic'] sub_window = QtWidgets.QMdiSubWindow() sub_window.setWindowTitle(k) rpc_monitor = RpcServerMonitor(name=k, req_addr=reqAddress, sub_addr=pubAddress, sub_topics=subscribes, parent=self) sub_window.setWidget(rpc_monitor) self.mdi.addSubWindow(rpc_monitor) rpc_monitor.show() self.mdi.tileSubWindows() except Exception as ex: traceback.print_exc() QtWidgets.QMessageBox.warning(self, 'Exception', u'Load vt_Setting.json Exception', QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.NoButton, QtGui.QMessageBox.NoButton) return