En este artículo veremos cómo podemos obtener el hijo del widget QColorDialog con la ayuda del tipo de hijo. El widget QColorDialog consiste en múltiples widgets como QLabel, QPushButton, QSpinBox y muchos otros widgets. La combinación de estos widgets forma el cuadro de diálogo de color.
Para hacer esto usamos childAt
el método con el objeto QColorDialog
Sintaxis: dialog.findChild(w_type)
Argumento: toma el tipo de niño como argumento
Return: Devuelve un objeto hijo .
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) dialog.setSizeGripEnabled(True) # setting custom colors dialog.setCustomColor(1, Qt.red) dialog.setCustomColor(2, Qt.green) dialog.setCustomColor(3, Qt.yellow) dialog.setCustomColor(4, Qt.blue) # executing the dialog # dialog.exec_() # creating label label = QLabel("GeeksforGeeks", self) # setting geometry to the label label.setGeometry(10, 10, 400, 280) # making label multi line label.setWordWrap(True) # setting stylesheet of the label label.setStyleSheet("QLabel" "{" "border : 5px solid black;" "}") # getting the custom color color = dialog.customColor(4) # 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) # getting child of color dialog value = dialog.findChild(QSpinBox) # setting text to the label label.setText("Child QSpinBox type : " + str(value)) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA