PyQt5 QColorDialog – Señal aceptada

En este artículo, veremos cómo podemos obtener la señal aceptada del widget QColorDialog. Esta señal se emite cuando el diálogo ha sido aceptado por el usuario o llamando a accept() o done() con el argumento QDialog::Accepted. Nota: esta señal no se emite cuando se oculta el diálogo con hide() o setVisible(false). Esto incluye eliminar el cuadro de diálogo mientras está visible. Para hacer esto usamos el método aceptado con el objeto QColorDialog

Sintaxis: dialog.accepted.connect(lambda: print(“Señal aceptada”) Argumento: Toma el método como argumento Acción realizada: Llamará al método pasado cuando se emita la señal aceptada

A continuación se muestra la implementación. 

Python3

# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
 
 
class Window(QMainWindow):
 
    def __init__(self):
        super().__init__()
 
        # setting title
        self.setWindowTitle("Python ")
 
        # setting geometry
        self.setGeometry(100, 100, 500, 400)
 
        # calling method
        self.UiComponents()
 
        # showing all the widgets
        self.show()
 
 
    # method for components
    def UiComponents(self):
 
        # creating a QColorDialog object
        dialog = QColorDialog(self)
 
        # setting current color to the dialog
        dialog.setCurrentColor(Qt.red)
 
 
        dialog.accepted.connect(lambda: print("accepted Signal"))
 
        # making color done
        # accepting the color
        dialog.done(1)
 
        # executing the dialog
        dialog.exec_()
 
 
        # creating label
        label = QLabel("GeeksforGeeks", self)
 
        # setting geometry to the label
        label.setGeometry(100, 100, 300, 80)
 
        # making label multi line
        label.setWordWrap(True)
 
        # setting stylesheet of the label
        label.setStyleSheet("QLabel"
                            "{"
                            "border : 5px solid black;"
                            "}")
 
        # getting the selected color
        color = dialog.selectedColor()
 
        # setting graphic effect to the label
        graphic = QGraphicsColorizeEffect(self)
 
        # setting color to the graphic
        graphic.setColor(color)
 
        # setting graphic to the label
        label.setGraphicsEffect(graphic)
 
        # setting text to the label
        label.setText("Accepted Color : " + str(color))
 
 
 
# create pyqt5 app
App = QApplication(sys.argv)
 
# create the instance of our Window
window = Window()
 
# start the app
sys.exit(App.exec())

Producción :

Accepted Signal
Accepted Signal

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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