PyQT6 не получается получить ширину QGridLayout из его обёртки

Нужно была обёртка QGridLayout, но при попытке получить ширину, я получал пустые значения.

class WorkAreaGrid(QGridLayout):
    def __init__(self, *args):
        super().__init__(*args)
        #self.setVerticalSpacing(0)
        #self.setSpacing(0)
        #self.setContentsMargins(0, 0, 0, 0)
        self.setAlignment(Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignTop)
    
    def addWidgetDefault(self, w):

        # ошибка!!!
        # ---------------------------------------------------------------

        width = self.geometry().width()  # ширина макета, ошибочное значение 0, всегда!!
        print(super().geometry())  # пустой QRect всегда(вывод 'PyQt6.QtCore.QRect()')


        # ----------------------------------------------------------------
        width_w = w.width()  # с размерами виджета всё ок
        print(width, width_w) # вывод: '0 60'
        n = (width // width_w) + 1
        #print(n)
        x = len(self) % n
        y = len(self) // n
        #print(x, y)
        super().addWidget(w, x, y)

В выделенной зоне width всегда получает 0, а QRect всегда пустой. Не могли бы сказать, как мне получить корректные значения ширины? Заранее спасибо!


Ответы (0 шт):