Seite 1 von 2

PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:43
von timm4444
Hallo Leute,
kuze Frage:

Ich möchte ein PYQT5-Fenster erzeugen und im closeEvent es so machen, dass sich das PYQT5-Fenster schließt und ein Tkinter-Fenster öffnet.
Das mit dem closeEvent weiß ich wie es geht, nur mit dem Tkinter fenster nicht.
wäre cool, wenn einer wüßte wie es geht. :-)

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:45
von sparrow
Kurze Antwort: Ich würde in einem Programm auf keinen Fall zwei GUI-Framworks kreuzen.

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:45
von timm4444
Und wenn doch?

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:46
von timm4444
Oder auch: Wenn ich ein Pyqt5-Fenster schließe, dass sich ein anderes Pyqt5-Fenster öffnet?

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:54
von Sirius3
Wenn Du weißt, wie man eine Fenster öffnet, dann kannst Du doch auch zwei Fenster öffnen.

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 17:55
von timm4444
Ja, aber das erste soll sich schließen

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 18:00
von Sirius3
Ich dachte, das mit dem Schließen hättest Du schon.

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 18:01
von timm4444
Ja, aber dann öffnet sich das andere fenster nicht oder das erste wartet bis das zweite geschlossen ist.

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 18:06
von sparrow
Da musst du wohl mal zegien, was du da tust.

Re: PYQT5 Programm beenden

Verfasst: Sonntag 28. November 2021, 18:07
von timm4444
Kommt die Tage...

Re: PYQT5 Programm beenden

Verfasst: Dienstag 7. Dezember 2021, 19:19
von timm4444
Code kommt in den nächsten 5-10 min.

Nochmal anders formuliert: Ich möchte, dass nachdem man das PYQT-Fenster geschlossen hat, sich nicht das Programm an sich auch beendet, sondern, dass auch noch anderer Code ausgeführt wird.

Re: PYQT5 Programm beenden

Verfasst: Dienstag 7. Dezember 2021, 19:22
von timm4444

Code: Alles auswählen

import tkinter

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox
import tkinter as tk
from time import sleep


class Ui_MainWindow(object):
    def __init__(self):
        self.msgQuestion = QMessageBox()
        self.msgQuestion.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
        self.msgQuestion.setIcon(QMessageBox.Question)
        self.msgQuestion.setText(
            "Möchtest du zurück ins Hauptmenü?\n\nAchtung: \nDie bisherigen Einstellungen werden nicht gespeichert!")
        self.msgQuestion.setDefaultButton(QMessageBox.No)
        self.msgQuestion.buttonClicked.connect(self.msgButton)
        self.msgQuestion.setWindowTitle("Quiz maker ||| Verlassen?")

    def msgButton(self, i):
        if i.text() == '&Yes':
            print("Zurück zum Hauptmenü")

            app2 = QtWidgets.QApplication(sys.argv)
            app.exit()
            MainWindow2 = QtWidgets.QMainWindow()
            ui2 = Ui_MainWindow()
            ui2.setupUi(MainWindow)
            MainWindow2.show()
            print("bye1")
            sys.exit(app2.exec_())

        else:
            print("Ich bleibe hier\n \n pass")
            pass

    def closeEvent(self, event):
        event.ignore()
        self.msgQuestion.show()

    def setupUi(self, MainWindow):
        MainWindow.closeEvent = self.closeEvent
        MainWindow.setObjectName("MainWindow")
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(700, 700)
        MainWindow.setMinimumSize(QtCore.QSize(700, 700))
        MainWindow.setMaximumSize(QtCore.QSize(700, 700))
        MainWindow.setSizeIncrement(QtCore.QSize(0, 0))
        MainWindow.setBaseSize(QtCore.QSize(0, 0))
        MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        MainWindow.setMouseTracking(False)
        MainWindow.setFocusPolicy(QtCore.Qt.WheelFocus)
        MainWindow.setWindowTitle("Quiz maker ||| Erstellen eines neuen Quiz ||| Konfiguration")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("quiz.ico"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        MainWindow.setAutoFillBackground(False)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_2.setGeometry(QtCore.QRect(10, 320, 681, 331))
        self.groupBox_2.setMinimumSize(QtCore.QSize(560, 100))
        self.groupBox_2.setMaximumSize(QtCore.QSize(700, 700))
        self.groupBox_2.setSizeIncrement(QtCore.QSize(0, 0))
        self.groupBox_2.setStyleSheet("font: 75 14pt \"MS Shell Dlg 2\"")
        self.groupBox_2.setInputMethodHints(QtCore.Qt.ImhNone)
        self.groupBox_2.setObjectName("groupBox_2")
        self.label_13 = QtWidgets.QLabel(self.groupBox_2)
        self.label_13.setGeometry(QtCore.QRect(370, 30, 281, 291))
        self.label_13.setText("")
        self.label_13.setPixmap(QtGui.QPixmap("2.png"))
        self.label_13.setScaledContents(True)
        self.label_13.setObjectName("label_13")
        self.label_14 = QtWidgets.QLabel(self.groupBox_2)
        self.label_14.setGeometry(QtCore.QRect(30, 30, 281, 291))
        self.label_14.setText("")
        self.label_14.setPixmap(QtGui.QPixmap("1.png"))
        self.label_14.setScaledContents(True)
        self.label_14.setObjectName("label_14")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(10, 10, 681, 311))
        self.groupBox.setMinimumSize(QtCore.QSize(550, 300))
        self.groupBox.setMaximumSize(QtCore.QSize(700, 350))
        self.groupBox.setSizeIncrement(QtCore.QSize(0, 0))
        self.groupBox.setStyleSheet("font: 75 14pt \"MS Shell Dlg 2\"")
        self.groupBox.setObjectName("groupBox")
        self.splitter = QtWidgets.QSplitter(self.groupBox)
        self.splitter.setGeometry(QtCore.QRect(20, 30, 651, 271))
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.label = QtWidgets.QLabel(self.layoutWidget)
        self.label.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label.setObjectName("label")
        self.verticalLayout_3.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.layoutWidget)
        self.label_2.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_2.setObjectName("label_2")
        self.verticalLayout_3.addWidget(self.label_2)
        self.label_9 = QtWidgets.QLabel(self.layoutWidget)
        self.label_9.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_9.setObjectName("label_9")
        self.verticalLayout_3.addWidget(self.label_9)
        self.label_6 = QtWidgets.QLabel(self.layoutWidget)
        self.label_6.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_6.setObjectName("label_6")
        self.verticalLayout_3.addWidget(self.label_6)
        self.label_7 = QtWidgets.QLabel(self.layoutWidget)
        self.label_7.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.label_8 = QtWidgets.QLabel(self.layoutWidget)
        self.label_8.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_8.setObjectName("label_8")
        self.verticalLayout_3.addWidget(self.label_8)
        self.label_5 = QtWidgets.QLabel(self.layoutWidget)
        self.label_5.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_5.setObjectName("label_5")
        self.verticalLayout_3.addWidget(self.label_5)
        self.layoutWidget1 = QtWidgets.QWidget(self.splitter)
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget1)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.lineEdit = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit.setObjectName("lineEdit")
        self.verticalLayout_2.addWidget(self.lineEdit)
        self.comboBox = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox)
        self.comboBox_2 = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox_2.setObjectName("comboBox_2")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox_2)
        self.comboBox_3 = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox_3.setObjectName("comboBox_3")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        icon = QtGui.QIcon.fromTheme("farbe")
        self.comboBox_3.addItem(icon, "")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox_3)
        self.lineEdit_4 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.verticalLayout_2.addWidget(self.lineEdit_4)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.verticalLayout_2.addWidget(self.lineEdit_3)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.verticalLayout_2.addWidget(self.lineEdit_2)
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 660, 671, 30))
        self.pushButton.setStyleSheet("font: 20pt \"Microsoft YaHei UI\";")
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        self.groupBox_2.setTitle(_translate("MainWindow", "Beispielbilder"))
        self.groupBox.setTitle(_translate("MainWindow", "Einstellungen"))
        self.label.setText(_translate("MainWindow",
                                      "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Name des neuen Quiz:</span></p></body></html>"))
        self.label_2.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe des Quiz:</span></p></body></html>"))
        self.label_9.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe der Fragen:</span></p></body></html>"))
        self.label_6.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe der Antworten:</span></p></body></html>"))
        self.label_7.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Text 1 am Ende:</span></p></body></html>"))
        self.label_8.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Text 2 am Ende:</span></p></body></html>"))
        self.label_5.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Autor:</span></p></body></html>"))
        self.comboBox.setItemText(0, _translate("MainWindow", "Grau"))
        self.comboBox.setItemText(1, _translate("MainWindow", "Blau"))
        self.comboBox.setItemText(2, _translate("MainWindow", "Hell Blau"))
        self.comboBox.setItemText(3, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.comboBox_2.setItemText(0, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox_2.setItemText(1, _translate("MainWindow", "Hell Blau"))
        self.comboBox_2.setItemText(2, _translate("MainWindow", "Blau"))
        self.comboBox_2.setItemText(3, _translate("MainWindow", "Grau"))
        self.comboBox_2.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox_2.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox_2.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox_2.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox_2.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox_2.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox_2.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.comboBox_3.setItemText(0, _translate("MainWindow", "Blau"))
        self.comboBox_3.setItemText(1, _translate("MainWindow", "Hell Blau"))
        self.comboBox_3.setItemText(2, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox_3.setItemText(3, _translate("MainWindow", "Grau"))
        self.comboBox_3.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox_3.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox_3.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox_3.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox_3.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox_3.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox_3.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.pushButton.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
        self.pushButton.setWhatsThis(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
        self.pushButton.setText(_translate("MainWindow", "OK"))

class Ui_MainWindow2(object):
    def __init__(self):
        self.msgQuestion = QMessageBox()
        self.msgQuestion.setStandardButtons(QMessageBox.No)
        self.msgQuestion.setIcon(QMessageBox.Question)
        self.msgQuestion.setText(
            "Möchtest du zurück ins Hauptmenü?\n\nAchtung: \nDie bisherigen Einstellungen werden nicht gespeichert!")
        self.msgQuestion.setDefaultButton(QMessageBox.No)
        self.msgQuestion.buttonClicked.connect(self.msgButton)
        self.msgQuestion.setWindowTitle("Quiz maker ||| Verlassen?")

    def msgButton(self, i):
        if i.text() == '&Yes':
            print("Zurück zum Hauptmenü")

            a = hi()
            a.println()

        else:
            print("Ich bleibe hier\n \n pass")
            pass

    def closeEvent(self, event):
        event.ignore()
        self.msgQuestion.show()

    def setupUi(self, MainWindow):
        MainWindow.closeEvent = self.closeEvent
        MainWindow.setObjectName("MainWindow")
        MainWindow.setWindowModality(QtCore.Qt.NonModal)
        MainWindow.resize(700, 700)
        MainWindow.setMinimumSize(QtCore.QSize(700, 700))
        MainWindow.setMaximumSize(QtCore.QSize(700, 700))
        MainWindow.setSizeIncrement(QtCore.QSize(0, 0))
        MainWindow.setBaseSize(QtCore.QSize(0, 0))
        MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        MainWindow.setMouseTracking(False)
        MainWindow.setFocusPolicy(QtCore.Qt.WheelFocus)
        MainWindow.setWindowTitle("Quiz maker ||| Erstellen eines neuen Quiz ||| Konfiguration")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("quiz.ico"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        MainWindow.setAutoFillBackground(False)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_2.setGeometry(QtCore.QRect(10, 320, 681, 331))
        self.groupBox_2.setMinimumSize(QtCore.QSize(560, 100))
        self.groupBox_2.setMaximumSize(QtCore.QSize(700, 700))
        self.groupBox_2.setSizeIncrement(QtCore.QSize(0, 0))
        self.groupBox_2.setStyleSheet("font: 75 14pt \"MS Shell Dlg 2\"")
        self.groupBox_2.setInputMethodHints(QtCore.Qt.ImhNone)
        self.groupBox_2.setObjectName("groupBox_2")
        self.label_13 = QtWidgets.QLabel(self.groupBox_2)
        self.label_13.setGeometry(QtCore.QRect(370, 30, 281, 291))
        self.label_13.setText("")
        self.label_13.setPixmap(QtGui.QPixmap("2.png"))
        self.label_13.setScaledContents(True)
        self.label_13.setObjectName("label_13")
        self.label_14 = QtWidgets.QLabel(self.groupBox_2)
        self.label_14.setGeometry(QtCore.QRect(30, 30, 281, 291))
        self.label_14.setText("")
        self.label_14.setPixmap(QtGui.QPixmap("1.png"))
        self.label_14.setScaledContents(True)
        self.label_14.setObjectName("label_14")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(10, 10, 681, 311))
        self.groupBox.setMinimumSize(QtCore.QSize(550, 300))
        self.groupBox.setMaximumSize(QtCore.QSize(700, 350))
        self.groupBox.setSizeIncrement(QtCore.QSize(0, 0))
        self.groupBox.setStyleSheet("font: 75 14pt \"MS Shell Dlg 2\"")
        self.groupBox.setObjectName("groupBox")
        self.splitter = QtWidgets.QSplitter(self.groupBox)
        self.splitter.setGeometry(QtCore.QRect(20, 30, 651, 271))
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.label = QtWidgets.QLabel(self.layoutWidget)
        self.label.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label.setObjectName("label")
        self.verticalLayout_3.addWidget(self.label)
        self.label_2 = QtWidgets.QLabel(self.layoutWidget)
        self.label_2.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_2.setObjectName("label_2")
        self.verticalLayout_3.addWidget(self.label_2)
        self.label_9 = QtWidgets.QLabel(self.layoutWidget)
        self.label_9.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_9.setObjectName("label_9")
        self.verticalLayout_3.addWidget(self.label_9)
        self.label_6 = QtWidgets.QLabel(self.layoutWidget)
        self.label_6.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_6.setObjectName("label_6")
        self.verticalLayout_3.addWidget(self.label_6)
        self.label_7 = QtWidgets.QLabel(self.layoutWidget)
        self.label_7.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.label_8 = QtWidgets.QLabel(self.layoutWidget)
        self.label_8.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_8.setObjectName("label_8")
        self.verticalLayout_3.addWidget(self.label_8)
        self.label_5 = QtWidgets.QLabel(self.layoutWidget)
        self.label_5.setStyleSheet("font: 8pt \"MS Shell Dlg 2\";")
        self.label_5.setObjectName("label_5")
        self.verticalLayout_3.addWidget(self.label_5)
        self.layoutWidget1 = QtWidgets.QWidget(self.splitter)
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget1)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.lineEdit = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit.setObjectName("lineEdit")
        self.verticalLayout_2.addWidget(self.lineEdit)
        self.comboBox = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox.setObjectName("comboBox")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.comboBox.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox)
        self.comboBox_2 = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox_2.setObjectName("comboBox_2")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.comboBox_2.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox_2)
        self.comboBox_3 = QtWidgets.QComboBox(self.layoutWidget1)
        self.comboBox_3.setObjectName("comboBox_3")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        icon = QtGui.QIcon.fromTheme("farbe")
        self.comboBox_3.addItem(icon, "")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.comboBox_3.addItem("")
        self.verticalLayout_2.addWidget(self.comboBox_3)
        self.lineEdit_4 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.verticalLayout_2.addWidget(self.lineEdit_4)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.verticalLayout_2.addWidget(self.lineEdit_3)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.layoutWidget1)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.verticalLayout_2.addWidget(self.lineEdit_2)
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 660, 671, 30))
        self.pushButton.setStyleSheet("font: 20pt \"Microsoft YaHei UI\";")
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        self.groupBox_2.setTitle(_translate("MainWindow", "Beispielbilder"))
        self.groupBox.setTitle(_translate("MainWindow", "Einstellungen"))
        self.label.setText(_translate("MainWindow",
                                      "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Name des neuen Quiz:</span></p></body></html>"))
        self.label_2.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe des Quiz:</span></p></body></html>"))
        self.label_9.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe der Fragen:</span></p></body></html>"))
        self.label_6.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Hintergrundfarbe der Antworten:</span></p></body></html>"))
        self.label_7.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Text 1 am Ende:</span></p></body></html>"))
        self.label_8.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Text 2 am Ende:</span></p></body></html>"))
        self.label_5.setText(_translate("MainWindow",
                                        "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; text-decoration: underline; color:#000000;\">Autor:</span></p></body></html>"))
        self.comboBox.setItemText(0, _translate("MainWindow", "Grau"))
        self.comboBox.setItemText(1, _translate("MainWindow", "Blau"))
        self.comboBox.setItemText(2, _translate("MainWindow", "Hell Blau"))
        self.comboBox.setItemText(3, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.comboBox_2.setItemText(0, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox_2.setItemText(1, _translate("MainWindow", "Hell Blau"))
        self.comboBox_2.setItemText(2, _translate("MainWindow", "Blau"))
        self.comboBox_2.setItemText(3, _translate("MainWindow", "Grau"))
        self.comboBox_2.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox_2.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox_2.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox_2.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox_2.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox_2.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox_2.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.comboBox_3.setItemText(0, _translate("MainWindow", "Blau"))
        self.comboBox_3.setItemText(1, _translate("MainWindow", "Hell Blau"))
        self.comboBox_3.setItemText(2, _translate("MainWindow", "Dunkel Blau"))
        self.comboBox_3.setItemText(3, _translate("MainWindow", "Grau"))
        self.comboBox_3.setItemText(4, _translate("MainWindow", "Grün"))
        self.comboBox_3.setItemText(5, _translate("MainWindow", "Hell Grün"))
        self.comboBox_3.setItemText(6, _translate("MainWindow", "Dunkel Grün"))
        self.comboBox_3.setItemText(7, _translate("MainWindow", "Rot"))
        self.comboBox_3.setItemText(8, _translate("MainWindow", "Gelb"))
        self.comboBox_3.setItemText(9, _translate("MainWindow", "Weiß"))
        self.comboBox_3.setItemText(10, _translate("MainWindow", "Schwarz"))
        self.pushButton.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
        self.pushButton.setWhatsThis(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
        self.pushButton.setText(_translate("MainWindow", "OK"))


class hi:
    def println(self):
        root = tkinter.Tk()
        root.mainloop()


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)

    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    print("bye") # Hier soll weiterer code ausgeführt werden, nachdem das Fenster geschlossen wurde
    sys.exit(app.exec_())

Re: PYQT5 Programm beenden

Verfasst: Dienstag 7. Dezember 2021, 19:23
von timm4444
Sorry falls der Code nicht so super strukturiert ist, es ist noch für mich zum Testen.

Und sorry, dass das so lange gedauert hat, ich hatte viele Klassenarbeiten und daher keine Zeit. :-(

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 08:20
von sparrow
Wie ich dir bereits oben geschrieben habe: Man mischt nicht zwei GUI-Framworks in einem Programn. Das liegt daran, dass beide Frameworks ihren jeweiligen Mainloop brauchen um die Oberfläche zu zeichne.
Falls es dir jetzt wieder in den Fingern juckt "und wenn doch" zu schreiben: Nein.

Entscheid dich für Tkinter oder PyQt.

Die Sache mit dem Mainloop hast du auch noch nicht auf dem Schirm, denn die Codezeile, die du kommentiert hast wird ja ausgeführt. Und zwar _bevor_ das Fenster angezeigt wird.

Bei GUI-Programmierung wird der Code nicht mehr sequentiell abgearbeitet. Deine Oberfläche wird überhaupt erst angezeigt, wenn app.exec_() aufgerufen wird. Damit wird die Endlosschleife (Mainloop) gestartet, der dafür sorgt, dass die Oberfläche gezeichnet wird. Aber diesem Moment musst du entsprechend auf Events reagieren.
Das Stichwort zum Suchen, wenn es bei PyQt bleibt: Signal.

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 19:55
von timm4444
Ok, danke.

Ich werde mich mal mit verschiedenen Sachen noch ausprobieren.

Kurze Frage: Kann ich dieses QT Fenster, was ich mit oberen Code erstelle, auch (exakt) mit Tkinter nachstellen? (MIt Groupbox und so)

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 20:23
von __deets__
Warum? Lass doch einfach tkinter raus.

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 20:27
von timm4444
Ja!Nein!Jein?

Ich komm mit tkinter sehr viel besser klar als mit QT und ja.

Der code ist nur, vielleicht 5% von dem Grafischen insgesamt und ich weiß nicht so wie ich das so schön (und schnell) mit Qt hin bekomme. :-(

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 20:28
von sparrow
Mit dem qdesigner.

Re: PYQT5 Programm beend

Verfasst: Mittwoch 8. Dezember 2021, 20:39
von __deets__
Wie jetzt. Du hast etwas schönes mit Qt gebaut, weißt nicht, wie du es mit tkinter hinbekommst, aber das ist dann doch irgendwie besser? Finde ich unlogisch.

Re: PYQT5 Programm beenden

Verfasst: Mittwoch 8. Dezember 2021, 20:41
von timm4444
Ja, ja aber ich arbeite ja auch mit designer aber ...

ok ich probieres es mal aus :-| (mir gehen die Argumente aus)

Letzte Frage: Ich habe 2 qt fenster und ich möchte beide NACHEINANDER anzeigen lassen, wie mache ich das?