PyQt5 QCalendarWidget – 如果可能的话,访问每个孩子的区域

PyQt5 QCalendarWidget – 如果可能的话,访问每个孩子的区域

在这篇文章中,我们将看到如何获取QCalendarWidget的所有子节点的区域。日历并不是单独的一个小部件,它是由很多小部件组成的,我们称之为日历的子部件。有很多子项,如表格视图、项目委托等,我们使用children方法来获取它的所有子项。区域是每个子部件所占据的区域。

注意: 所有的孩子都没有矩形,因为他们可以是一个布局。

为了做到这一点,我们必须做以下工作:

1.创建一个日历小部件

2.获取日历的所有子项

3.遍历孩子们的列表

4.尝试在尝试中获得可见区域或子区域,除此之外,将结果保存在另一个列表中

5.使用标签显示该列表

下面是实现的过程

# 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)

        # creating a label
        label = QLabel(self)

        # setting geometry
        label.setGeometry(50, 280, 420, 120)

        # making it multi line
        label.setWordWrap(True)

        # getting children
        children = self.calendar.children()


        value = []
        for i in children:
            try:

                try:
                    # getting children region
                    region = i.childrenRegion()
                except:
                    # getting visible region
                    region = i.visibleRegion()

                # adding it to list
                value.append(region)

            except:
                pass

        # setting text to the label
        label.setText("Regions : " + str(value))



# create pyqt5 app
App = QApplication(sys.argv)

# create the instance of our Window
window = Window()


# start the app
sys.exit(App.exec())

输出。

PyQt5 QCalendarWidget - 如果可能的话,访问每个孩子的区域

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

PyQt5 日历控件QCalendarWidget