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