From 4f82f061ec677823c14144958782bab43fa05097 Mon Sep 17 00:00:00 2001 From: "vn.py" Date: Fri, 1 Nov 2019 10:12:37 +0800 Subject: [PATCH] [Mod] make CodeEditor singleton --- vnpy/trader/ui/editor.py | 10 ++++++++-- vnpy/trader/ui/ico/editor.ico | Bin 67646 -> 67646 bytes vnpy/trader/ui/mainwindow.py | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/vnpy/trader/ui/editor.py b/vnpy/trader/ui/editor.py index 42d0ae38..050be6b9 100644 --- a/vnpy/trader/ui/editor.py +++ b/vnpy/trader/ui/editor.py @@ -8,6 +8,14 @@ class CodeEditor(QtWidgets.QMainWindow): """""" NEW_FILE_NAME = "Untitled" + _instance = None + + def __new__(cls, *args, **kwargs): + """""" + if not cls._instance: + cls._instance = QtWidgets.QMainWindow.__new__(cls, *args, **kwargs) + return cls._instance + def __init__(self, main_engine=None, event_engine=None): """""" super().__init__() @@ -441,8 +449,6 @@ if __name__ == "__main__": from vnpy.trader.ui import create_qapp app = create_qapp() - editor = CodeEditor() editor.show() - app.exec_() diff --git a/vnpy/trader/ui/ico/editor.ico b/vnpy/trader/ui/ico/editor.ico index c0f1ae0031339c12158a90aae26484e866d9c21f..e886970f14dcebae5d9e8784e40cff2dac074df9 100644 GIT binary patch literal 67646 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 literal 67646 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 AM*si- diff --git a/vnpy/trader/ui/mainwindow.py b/vnpy/trader/ui/mainwindow.py index 1e95e097..2cad1a7b 100644 --- a/vnpy/trader/ui/mainwindow.py +++ b/vnpy/trader/ui/mainwindow.py @@ -143,7 +143,7 @@ class MainWindow(QtWidgets.QMainWindow): help_menu, "代码编辑", "editor.ico", - partial(self.open_widget, CodeEditor, "editor"), + partial(self.open_widget, CodeEditor, "editor") ) self.add_toolbar_action( "代码编辑",