diff --git a/vnpy/trader/uiMainWindow.py b/vnpy/trader/uiMainWindow.py index 8e0f555a..329566a5 100644 --- a/vnpy/trader/uiMainWindow.py +++ b/vnpy/trader/uiMainWindow.py @@ -206,13 +206,15 @@ class MainWindow(QtWidgets.QMainWindow): :return 返回app的窗口 """ appName = appDetail['appName'] - try: - self.widgetDict[appName].show() - except KeyError: - appEngine = self.mainEngine.getApp(appName) - self.widgetDict[appName] = appDetail['appWidget'](appEngine, self.eventEngine) - self.widgetDict[appName].show() - return self.widgetDict[appName] + if appName not in self.widgetDict: + self.widgetDict[appName] = appDetail['appWidget'](self.mainEngine.getApp(appName), + self.eventEngine) + app = self.widgetDict[appName] # type: QtWidgets.QWidget + app.show() + app.resize(app.size()) # 修正最大化后的空白 + app.raise_() # 移到前台 + app.activateWindow() # 移到前台并获取焦点 + return app #---------------------------------------------------------------------- def createOpenAppFunction(self, appDetail):