En este artículo, veremos cómo podemos verificar si QCalendarWidget es el ancestro del widget dado o no. Para hacerlo, usamos isAncestorOf
el método, este método devuelve verdadero si el calendario es un padre (o un abuelo, etc. en cualquier nivel) del hijo dado, y ambos widgets están dentro de la misma ventana; de lo contrario, devuelve falso.
Para hacer esto, usaremos
isAncestorOf
el método con el objeto QCalendarWidget.Sintaxis: calendar.isAncestorOf(consulta)
Argumento: toma el objeto QWidget como argumento
Return : Devuelve bool
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, 650, 400) # calling method self.UiComponents() # showing all the widgets self.show() # method for components def UiComponents(self): # creating a QCalendarWidget object self.calendar = QCalendarWidget(self) # setting geometry to the calendar self.calendar.setGeometry(50, 10, 400, 250) # setting cursor self.calendar.setCursor(Qt.PointingHandCursor) # creating label to show the properties self.label = QLabel(self) # setting geometry to the label self.label.setGeometry(100, 280, 250, 60) # making label multi line self.label.setWordWrap(True) # getting third child of the calendar child = self.calendar.children()[3] # checking if the calendar is ancestor of the child value = self.calendar.isAncestorOf(child) # setting text to the label self.label.setText("Ancestor ? : " + 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