📅  最后修改于: 2023-12-03 15:03:57.334000             🧑  作者: Mango
PyQt5 is one of the popular cross-platform GUI toolkits, which provides a Python interface for the Qt application framework. PyQt5 QCalendarWidget is an in-built widget in PyQt5 library to create a calendar component in the GUI application. In this article, we will discuss how to access the geometry of the QCalendarWidget in PyQt5.
The geometry of a widget is the size and position of the widget in the parent widget's coordinate system. You can access the geometry of the QCalendarWidget using the geometry()
method.
calendar = QCalendarWidget(self)
geometry = calendar.geometry()
Here, calendar
is an instance of the QCalendarWidget class and self
is the parent widget. We use the QCalendarWidget
constructor to create an instance of the QCalendarWidget class. Then, we use the geometry()
method to return the geometry of the widget.
Let's create a simple PyQt5 application using QCalendarWidget and access the geometry of the widget.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCalendarWidget
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 400, 300)
self.setWindowTitle('QCalendarWidget')
calendar = QCalendarWidget(self)
calendar.move(20, 20)
geometry = calendar.geometry()
print(f"Geometry: {geometry.width()} x {geometry.height()}")
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
Here, we create a class Example
that inherits from QWidget
. We create an instance of the QCalendarWidget
class and move it to a specified position on the window using the move()
method. Then, we access the geometry of the widget using the geometry()
method and print it in the console. Finally, we show the window using the show()
method.
Thus, we have discussed how to access the geometry of the QCalendarWidget in PyQt5 using the geometry()
method. You can use this method to get the size and position of the widget in the parent widget's coordinate system.