コード例 #1
0
ファイル: uiMultiRpcMonitor.py プロジェクト: zenozxu/vnpy
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
ファイル: uiCmaWidget.py プロジェクト: frikyalong/vnpy
 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)   
コード例 #5
0
ファイル: uiWidget.py プロジェクト: bopopescu/HyperPixiu
    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)
コード例 #6
0
ファイル: uiArbWidget.py プロジェクト: ageofshadows/Skynet
    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)   
コード例 #7
0
    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