feat: иконка на окне программы (заголовок/панель задач) + в ресурсах exe

This commit is contained in:
2026-08-03 22:05:44 +04:00
parent bb987894b2
commit eee1842421
2 changed files with 23 additions and 0 deletions
+21
View File
@@ -34,6 +34,27 @@ class DokoGenApp:
root.title("ДоКоГеНеРаТоР — 152-ФЗ (Персональные данные)")
root.geometry("1200x800")
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