diff --git a/ui_close_dialog.py b/ui_close_dialog.py new file mode 100644 index 0000000..52c2187 --- /dev/null +++ b/ui_close_dialog.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'ui_close_dialog.ui' +# +# Created by: PyQt5 UI code generator 5.15.0 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_CloseDialog(object): + def setupUi(self, CloseDialog): + CloseDialog.setObjectName("CloseDialog") + CloseDialog.setWindowModality(QtCore.Qt.ApplicationModal) + CloseDialog.resize(313, 75) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(CloseDialog.sizePolicy().hasHeightForWidth()) + CloseDialog.setSizePolicy(sizePolicy) + self.verticalLayout = QtWidgets.QVBoxLayout(CloseDialog) + self.verticalLayout.setObjectName("verticalLayout") + self.t_close = QtWidgets.QLabel(CloseDialog) + self.t_close.setObjectName("t_close") + self.verticalLayout.addWidget(self.t_close) + self.l_buttons = QtWidgets.QHBoxLayout() + self.l_buttons.setObjectName("l_buttons") + self.b_yes = QtWidgets.QPushButton(CloseDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.b_yes.sizePolicy().hasHeightForWidth()) + self.b_yes.setSizePolicy(sizePolicy) + self.b_yes.setObjectName("b_yes") + self.l_buttons.addWidget(self.b_yes) + self.b_no = QtWidgets.QPushButton(CloseDialog) + self.b_no.setObjectName("b_no") + self.l_buttons.addWidget(self.b_no) + self.verticalLayout.addLayout(self.l_buttons) + + self.retranslateUi(CloseDialog) + QtCore.QMetaObject.connectSlotsByName(CloseDialog) + + def retranslateUi(self, CloseDialog): + _translate = QtCore.QCoreApplication.translate + CloseDialog.setWindowTitle(_translate("CloseDialog", "Programm schließen")) + self.t_close.setText(_translate("CloseDialog", "Soll das Programm wirklich geschlossen werden?")) + self.b_yes.setText(_translate("CloseDialog", "Ja")) + self.b_no.setText(_translate("CloseDialog", "Nein")) diff --git a/ui_close_dialog.ui b/ui_close_dialog.ui new file mode 100644 index 0000000..e28c378 --- /dev/null +++ b/ui_close_dialog.ui @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>CloseDialog</class> + <widget class="QDialog" name="CloseDialog"> + <property name="windowModality"> + <enum>Qt::ApplicationModal</enum> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>313</width> + <height>75</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="windowTitle"> + <string>Programm schließen</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="t_close"> + <property name="text"> + <string>Soll das Programm wirklich geschlossen werden?</string> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="l_buttons"> + <item> + <widget class="QPushButton" name="b_yes"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Ja</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="b_no"> + <property name="text"> + <string>Nein</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/wikicookbook.py b/wikicookbook.py index 74e7def..86ce9c2 100644 --- a/wikicookbook.py +++ b/wikicookbook.py @@ -29,6 +29,7 @@ from ui_mainwindow import Ui_MainWindow from ui_code_dialog import Ui_WikiCode from ui_about_dialog import Ui_About from ui_clear_dialog import Ui_ClearDialog +from ui_close_dialog import Ui_CloseDialog class AboutDialog(QDialog, Ui_About): def __init__(self, *args, **kwargs): @@ -39,6 +40,16 @@ class AboutDialog(QDialog, Ui_About): self.show() +class CloseDialog(QDialog, Ui_CloseDialog): + def __init__(self, *args, **kwargs): + super(CloseDialog, self).__init__(*args, **kwargs) + self.setupUi(self) + + self.b_yes.clicked.connect(self.accept) + self.b_no.clicked.connect(self.reject) + + self.show() + class ClearDialog(QDialog, Ui_ClearDialog): def __init__(self, *args, **kwargs): super(ClearDialog, self).__init__(*args, **kwargs) @@ -386,11 +397,9 @@ class MainWindow(QMainWindow, Ui_MainWindow): """ Close the application. A warning is shown before. """ - reply = QMessageBox.question(self, "Sicher?", - "Möchten Sie wirklich schließen?", - QMessageBox.Yes | QMessageBox.No, QMessageBox.No) - if reply == QMessageBox.Yes: - self.close() + dialog = CloseDialog() + dialog.accepted.connect(self.close) + dialog.exec_() if __name__ == "__main__":