Windows-Build / windows-exe (push) Failing after 3m10s
Fehler: War ein Popup offen und man klickte in ein anderes Programm, ließ sich das Popup über Hauptfenster, Taskleiste oder Alt+Tab nicht mehr nach vorn holen. Ursache: Rahmenlose Tk-Fenster mit transient() legt Tk unter Windows als Kindfenster des Desktops (WS_CHILD) an – ohne Besitzer, daher kam beim Zurückholen nur das (gesperrte) Hauptfenster nach vorn. - Popups (Dialoge, Rückfragen, Rundgang) ohne transient(), stattdessen Windows-Besitzer + Sperre des aufrufenden Fensters wie bei echten modalen Windows-Dialogen (gui/win32.py) - Rundgang: neue Sprechblase erscheint vor dem Entfernen der alten (sonst springt Windows weg) - Alt+F4 und Modalsperre robust gegen Timing (Sperre wird bei Bedarf nachgeholt) - Tests (nur unter Windows/Wine): Besitzer, Sperre, Stapelreihenfolge nach „woanders klicken“ und Zurückholen, verschachtelte Rückfragen, Rundgang - Tipp des Tages mit freigestelltem Büroklammer-Bild (build/make_tipp_bild.py), in der .exe enthalten und vom Selbsttest geprüft Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
901 B
RPMSpec
31 lines
901 B
RPMSpec
# PyInstaller-Spezifikation – erzeugt eine einzelne Provisionsmanager95.exe
|
||
# Aufruf (unter Windows oder Wine): pyinstaller --noconfirm build/provisionsmanager.spec
|
||
import os
|
||
|
||
ROOT = os.path.abspath(os.path.join(SPECPATH, ".."))
|
||
|
||
a = Analysis(
|
||
[os.path.join(ROOT, "build", "start.py")],
|
||
pathex=[ROOT],
|
||
hiddenimports=["openpyxl", "xlrd"],
|
||
datas=[(os.path.join(ROOT, "provtool", "gui", "bilder"), os.path.join("provtool", "gui", "bilder"))],
|
||
excludes=["numpy", "pandas", "PIL", "pytest", "matplotlib", "unittest", "pydoc_data"],
|
||
noarchive=False,
|
||
)
|
||
pyz = PYZ(a.pure)
|
||
exe = EXE(
|
||
pyz,
|
||
a.scripts,
|
||
a.binaries,
|
||
a.datas,
|
||
[],
|
||
name="Provisionsmanager95",
|
||
icon=os.path.join(ROOT, "assets", "app.ico"),
|
||
version=os.path.join(ROOT, "build", "version_info.txt"),
|
||
console=False,
|
||
upx=False,
|
||
debug=False,
|
||
strip=False,
|
||
runtime_tmpdir=None,
|
||
)
|