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
всегда пустой.
Не могли бы сказать, как мне получить корректные значения ширины? Заранее спасибо!