From ac122451b3f312b750e60950e9d652f1a8e6f736 Mon Sep 17 00:00:00 2001 From: DokoGen Date: Mon, 3 Aug 2026 22:29:54 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20=5Fset=5Fapp=5Ficon=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D1=80=D1=8B=D0=B2=D0=B0=D0=BB=20=5F=5Finit=5F=5F=20(NameError:?= =?UTF-8?q?=20root=20is=20not=20defined)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dokogen/ui.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/dokogen/ui.py b/dokogen/ui.py index 8cff6b0..1984101 100644 --- a/dokogen/ui.py +++ b/dokogen/ui.py @@ -36,26 +36,6 @@ class DokoGenApp: root.minsize(900, 600) self._set_app_icon() - def _set_app_icon(self): - """Устанавливает иконку приложения на окно (заголовок, панель задач). - - Работает и из исходников, и из exe (frozen): - - исходники: dokogen/icon.ico рядом с модулем - - exe: dokogen/icon.ico из _MEIPASS (ресурсы PyInstaller) - """ - try: - if getattr(sys, 'frozen', False): - base = getattr(sys, '_MEIPASS', os.path.dirname(sys.executable)) - ico = os.path.join(base, 'dokogen', 'icon.ico') - if not os.path.exists(ico): - ico = os.path.join(os.path.dirname(sys.executable), 'icon.ico') - else: - ico = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'icon.ico') - if os.path.exists(ico): - self.root.iconbitmap(ico) - except Exception: - pass - self.model = Company() self.current_file: Optional[str] = None self._current_is_idx: Optional[int] = None @@ -102,6 +82,26 @@ class DokoGenApp: self._load_autosave() self._start_autosave_timer() + def _set_app_icon(self): + """Устанавливает иконку приложения на окно (заголовок, панель задач). + + Работает и из исходников, и из exe (frozen): + - исходники: dokogen/icon.ico рядом с модулем + - exe: dokogen/icon.ico из _MEIPASS (ресурсы PyInstaller) + """ + try: + if getattr(sys, 'frozen', False): + base = getattr(sys, '_MEIPASS', os.path.dirname(sys.executable)) + ico = os.path.join(base, 'dokogen', 'icon.ico') + if not os.path.exists(ico): + ico = os.path.join(os.path.dirname(sys.executable), 'icon.ico') + else: + ico = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'icon.ico') + if os.path.exists(ico): + self.root.iconbitmap(ico) + except Exception: + pass + # ==================== МЕНЮ ==================== def _build_menu(self): menubar = tk.Menu(self.root)