Skripte/main_launcher.py

74 lines
2.6 KiB
Python
Raw Permalink Normal View History

2026-09-27 01:34:58 +02:00
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QLabel
from PyQt6.QtCore import Qt
# -------------------------------------------------------------------
# WICHTIG: Hier importieren wir deine drei bestehenden Skripte.
# Du musst "DeineInstaKlasse", "DeineEditKlasse" und "DeineMetaKlasse"
# durch die tatsächlichen Namen deiner Klassen ersetzen!
# (Z.B. durch den Namen, der in Instasong.py hinter "class " steht)
# -------------------------------------------------------------------
from Instasong import DeineInstaKlasse
from editfinde_GUI import DeineEditKlasse
from metaddateGUItest import DeineMetaKlasse
class MainLauncher(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Python Skript-Sammlung")
self.setFixedSize(300, 250)
# Haupt-Widget und Layout
central_widget = QWidget()
layout = QVBoxLayout()
layout.setSpacing(15)
layout.setContentsMargins(20, 20, 20, 20)
# Titel
title = QLabel("Bitte wähle ein Tool:")
font = title.font()
font.setPointSize(12)
font.setBold(True)
title.setFont(font)
title.setAlignment(Qt.AlignmentFlag.AlignCenter)
layout.addWidget(title)
# Buttons erstellen
self.btn_insta = QPushButton("🎵 Insta Song")
self.btn_edit = QPushButton("🎬 Edit Finder")
self.btn_meta = QPushButton("📅 Meta Date")
# Buttons etwas größer machen
for btn in (self.btn_insta, self.btn_edit, self.btn_meta):
btn.setMinimumHeight(40)
layout.addWidget(btn)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
# Klick-Events (Signale) mit den Funktionen (Slots) verknüpfen
self.btn_insta.clicked.connect(self.open_instasong)
self.btn_edit.clicked.connect(self.open_editfinder)
self.btn_meta.clicked.connect(self.open_metadate)
# WICHTIG: Wir brauchen eine Variable, um das geöffnete Fenster
# im Speicher zu halten, sonst schließt es sich sofort wieder.
self.active_window = None
def open_instasong(self):
self.active_window = DeineInstaKlasse()
self.active_window.show()
def open_editfinder(self):
self.active_window = DeineEditKlasse()
self.active_window.show()
def open_metadate(self):
self.active_window = DeineMetaKlasse()
self.active_window.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
launcher = MainLauncher()
launcher.show()
sys.exit(app.exec())