En este artículo veremos cómo podemos obtener la señal rechazada del widget QColorDialog. Esta señal se emite cuando el diálogo ha sido rechazado por el usuario o por llamada reject()
o done()
con el argumento QDialog::Rejected.
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 rejected
el método con el objeto QColorDialog
Sintaxis: dialog.rejected.connect(lambda: print(“Señal rechazada”)
Argumento: toma el método como argumento
Acción realizada: llamará al método aprobado cuando se emita la señal rechazada
A continuación se muestra la implementación.
# 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) # getting rejected signal dialog.rejected.connect(lambda: print("Rejected Signal")) # making color done # rejecting the color dialog.done(0) # 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 :
Rejected Signal Rejected 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