boton para confirmar una accion QDialog

necesito un ejemplo de pyqt5 con python donde al hacer click en un boton me salte una ventana para confirmar

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog, QVBoxLayout, QLabel

class ConfirmationDialog(QDialog):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Confirmación')
        self.setGeometry(100, 100, 300, 100)

        layout = QVBoxLayout()
        label = QLabel('¿Estás seguro de continuar?')
        layout.addWidget(label)

        confirm_button = QPushButton('Confirmar')
        confirm_button.clicked.connect(self.accept)  # Aceptar el cuadro de diálogo
        layout.addWidget(confirm_button)

        cancel_button = QPushButton('Cancelar')
        cancel_button.clicked.connect(self.reject)  # Rechazar el cuadro de diálogo
        layout.addWidget(cancel_button)

        self.setLayout(layout)

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('Ventana Principal')
        self.setGeometry(100, 100, 400, 300)

        self.confirmation_dialog = ConfirmationDialog()

        confirm_button = QPushButton('Mostrar Confirmación', self)
        confirm_button.setGeometry(150, 100, 150, 50)
        confirm_button.clicked.connect(self.show_confirmation_dialog)

    def show_confirmation_dialog(self):
        result = self.confirmation_dialog.exec_()  # Mostrar el cuadro de diálogo
        if result == QDialog.Accepted:
            print('Confirmado')
        else:
            print('Cancelado')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec_())

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *