def __init__(self, logger, ui2eg_q, eg2ui_q): # 日志对象 self.logger = logger # 初始化多语言 # load_language("config") self._ui2egQueue = ui2eg_q self._eg2uiQueue = eg2ui_q # UI2EG发送请求对象 self._request = SendRequest(self._ui2egQueue, self.logger) # 高分辨率支持 QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) qInstallMessageHandler(lambda x, y, z: None) self.mainApp = QApplication(sys.argv) # 根据分辨率调整字体 font = QFont("Microsoft YaHei UI", 11) pointsize = font.pointSize() font.setPixelSize(pointsize * 96 / 72) self.mainApp.setFont(font) ################创建回测报告#################### self._createReportWin() ################################################ version = '' if os.path.exists('../Version.txt'): with open('../Version.txt', 'r', encoding='utf-8-sig') as f: version = f.readline() if ' ' in version: version = version.split(' ')[1] if len(version) > 0: version = ' - ' + version self.mainWnd = FramelessWindow() self.mainWnd.setWindowTitle('极星量化' + version) self.app = QuantApplication(self, master=self.mainWnd) if self.app.settings.contains('theme') and self.app.settings.value( 'theme') == 'vs-dark': theme = THESE_STATE_DARK else: theme = THESE_STATE_WHITE self.mainWnd.setWinThese(theme) self.mainWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico')) screen = QDesktopWidget().screenGeometry() self.mainWnd.setGeometry(screen.width() * 0.1, screen.height() * 0.1, screen.width() * 0.8, screen.height() * 0.8) # self.mainWnd.titleBar.buttonClose.clicked.connect(self.quitThread) self.mainWnd.titleBar.buttonClose.clicked.disconnect( self.mainWnd.titleBar.closeWindow) self.mainWnd.titleBar.buttonClose.clicked.connect( self.app.save_edit_strategy) self.mainWnd.setWidget(self.app) # 创建模块 self.model = QuantModel(self.app, self._ui2egQueue, self._eg2uiQueue, self.logger) self.app.init_control() self.logger.info("Create quant model!") # 策略管理器 self.strategyManager = self.getStManager() # 创建接收引擎数据线程 self.receiveEgThread = ChildThread(self.model.receiveEgEvent)
def __init__(self, logger, ui2eg_q, eg2ui_q): # 日志对象 self.logger = logger # 初始化多语言 # load_language("config") self._ui2egQueue = ui2eg_q self._eg2uiQueue = eg2ui_q # UI2EG发送请求对象 self._request = SendRequest(self._ui2egQueue, self.logger) # 高分辨率支持 QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) # 创建主窗口 QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) # 高分辨率下适应屏幕 self.mainApp = QApplication(sys.argv) # 根据分辨率调整字体 font = QFont("Microsoft YaHei UI", 10) pointsize = font.pointSize() font.setPixelSize(pointsize * 90 / 72) self.mainApp.setFont(font) ###############回测报告##################### style = CommonHelper.readQss(DARKSTYLE) self.reportWnd = FramelessWindow() self.reportWnd.setStyleSheet(style) self.reportWnd.setWindowTitle("回测报告") self.reportWnd.setWinThese(THESE_STATE_DARK) self.reportWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico')) self.reportView = ReportView() self.reportWnd.setWidget(self.reportView) ############################################## self.app = QuantApplication(self) if self.app.settings.contains('theme') and self.app.settings.value( 'theme') == 'vs-dark': qss_path = DARKSTYLE theme = THESE_STATE_DARK else: qss_path = WHITESTYLE theme = THESE_STATE_WHITE # 回测报告窗口(主线程中创建) self.mainWnd = FramelessWindow() style = CommonHelper.readQss(qss_path) self.mainWnd.setStyleSheet(style) self.mainWnd.setWindowTitle('极星量化') self.mainWnd.setWinThese(theme) self.mainWnd.setWindowIcon(QIcon('icon/epolestar ix2.ico')) screen = QDesktopWidget().screenGeometry() self.mainWnd.setGeometry(screen.width() * 0.1, screen.height() * 0.1, screen.width() * 0.8, screen.height() * 0.8) self.mainWnd.titleBar.buttonClose.clicked.connect(self.quitThread) self.mainWnd.setWidget(self.app) # 创建模块 self.model = QuantModel(self.app, self._ui2egQueue, self._eg2uiQueue, self.logger) self.app.init_control() self.logger.info("Create quant model!") # 策略管理器 self.strategyManager = self.getStManager() # 创建接收引擎数据线程 self.receiveEgThread = ChildThread(self.model.receiveEgEvent)