26 lines
1.6 KiB
Text
26 lines
1.6 KiB
Text
|
|
Das ist eine hervorragende Entscheidung! Ein zentrales Startmenü (Launcher) macht die Nutzung und spätere Erstellung einer `.exe` viel sauberer.
|
|||
|
|
|
|||
|
|
Ich werde dir nun eine neue Datei namens `main.py` generieren. Dieses Skript erstellt ein kleines, schickes Startfenster mit drei Buttons. Klickst du auf einen Button, öffnet sich das jeweilige Tool.
|
|||
|
|
|
|||
|
|
### 🔧 Zwei wichtige Schritte, bevor du es testest:
|
|||
|
|
|
|||
|
|
Damit dieses Hauptmenü reibungslos funktioniert, musst du kurz zwei Dinge in deinen bestehenden Skripten checken:
|
|||
|
|
|
|||
|
|
**1. Klassennamen anpassen**
|
|||
|
|
Schau in deinen Dateien (`Instasong.py` etc.) nach, wie die Hauptklasse deines Fensters heißt (z. B. `class MainWindow(QMainWindow):`). Trage diesen Namen oben in der `main.py` bei den Import-Befehlen anstelle von `DeineInstaKlasse` etc. ein.
|
|||
|
|
|
|||
|
|
**2. Der `if __name__ == '__main__':` Block**
|
|||
|
|
Wenn du die `main.py` startest, importiert sie deine anderen Skripte. Damit diese beim Importieren nicht *sofort* ungefragt aufpoppen, muss der Start-Code in deinen drei Skripten ganz unten hinter einer Abfrage versteckt sein.
|
|||
|
|
Prüfe, ob das Ende deiner drei Skripte ungefähr so aussieht:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# Nur ausführen, wenn das Skript direkt gestartet wird, nicht beim Import!
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
app = QApplication(sys.argv)
|
|||
|
|
window = DeineKlasse()
|
|||
|
|
window.show()
|
|||
|
|
sys.exit(app.exec())
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Wenn das alles passt, kannst du nun einfach `main.py` starten und hast dein Menü! Wenn du daraus später eine `.exe` machen willst, musst du PyInstaller nur noch auf die `main.py` anwenden (`pyinstaller --noconsole main.py`) – PyInstaller erkennt die anderen Skripte dann ganz automatisch.
|