feat: иконка на окне программы (заголовок/панель задач) + в ресурсах exe
This commit is contained in:
@@ -13,6 +13,8 @@ datas = [
|
|||||||
('dokogen/dictionaries', 'dokogen/dictionaries'),
|
('dokogen/dictionaries', 'dokogen/dictionaries'),
|
||||||
# Пустой опросник 152-ФЗ (для «Справка → Пустой опросник»)
|
# Пустой опросник 152-ФЗ (для «Справка → Пустой опросник»)
|
||||||
('dokogen/data', 'dokogen/data'),
|
('dokogen/data', 'dokogen/data'),
|
||||||
|
# Иконка приложения (для окна программы в exe)
|
||||||
|
('dokogen/icon.ico', 'dokogen'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# ---------- Словари pymorphy3 (обязательно!) ----------
|
# ---------- Словари pymorphy3 (обязательно!) ----------
|
||||||
|
|||||||
@@ -34,6 +34,27 @@ class DokoGenApp:
|
|||||||
root.title("ДоКоГеНеРаТоР — 152-ФЗ (Персональные данные)")
|
root.title("ДоКоГеНеРаТоР — 152-ФЗ (Персональные данные)")
|
||||||
root.geometry("1200x800")
|
root.geometry("1200x800")
|
||||||
root.minsize(900, 600)
|
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.model = Company()
|
||||||
self.current_file: Optional[str] = None
|
self.current_file: Optional[str] = None
|
||||||
|
|||||||
Reference in New Issue
Block a user