74 lines
2.6 KiB
Python
74 lines
2.6 KiB
Python
|
|
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())
|