vnpy/beta/quantos/app/jaqsService/uiJsWidget.py

54 lines
1.7 KiB
Python
Raw Normal View History

2017-10-27 07:41:39 +00:00
# encoding: UTF-8
'''
行情记录模块相关的GUI控制组件
'''
from vnpy.event import Event
from vnpy.trader.uiQt import QtWidgets, QtCore
from .jsEngine import EVENT_JS_LOG
########################################################################
class JsEngineManager(QtWidgets.QWidget):
"""Jaqs服务管理组件"""
signal = QtCore.Signal(type(Event()))
#----------------------------------------------------------------------
def __init__(self, jsEngine, eventEngine, parent=None):
"""Constructor"""
super(JsEngineManager, self).__init__(parent)
2017-10-27 07:45:10 +00:00
self.jsEngine = jsEngine
2017-10-27 07:41:39 +00:00
self.eventEngine = eventEngine
self.initUi()
self.registerEvent()
#----------------------------------------------------------------------
def initUi(self):
"""初始化界面"""
self.setWindowTitle(u'Jaqs服务')
# 日志监控
self.logMonitor = QtWidgets.QTextEdit()
self.logMonitor.setReadOnly(True)
self.logMonitor.setMinimumHeight(600)
# 设置布局
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(self.logMonitor)
self.setLayout(vbox)
#----------------------------------------------------------------------
def updateLog(self, event):
"""更新日志"""
log = event.dict_['data']
content = '\t'.join([log.logTime, log.logContent])
self.logMonitor.append(content)
#----------------------------------------------------------------------
def registerEvent(self):
"""注册事件监听"""
self.signal.connect(self.updateLog)
self.eventEngine.register(EVENT_JS_LOG, self.signal.emit)