Название: QGridLayout и setSizeConstraint - не уменьшается зона прокрутки Отправлено: str-ms от Апрель 29, 2017, 17:22 Привет мастерам Qt! ;)
Мучаю Qt из-под Питона, наткнулся на непонятную бяку. Сделал такой вот бутерброд: в окно класса QWidget загнал QScrollArea, в неё QGridLayout, а в него уже в цикле кидаю QLabel. Смысл сего действа - вывести картинки стройными рядами, как иконки в проводнике. И при ресайзе окна приложения количество колонок должно автоматом меняться, при уменьшении ширины должна вырастать высота зоны прокрутки, при увеличении - сжиматься. Откройте проводник, там всё очевидно. Код: self.mainLayout = QGridLayout() Грид я перестраиваю повторным вызовом addWidget для каждого QLabel с новыми координатами. Есть у кого-то мысли, как победить этот глюк? Или я что-то делаю не так? Я новичок и в Питоне, и в Qt, не пинайте сильно. Название: Re: QGridLayout и setSizeConstraint - не уменьшается зона прокрутки Отправлено: str-ms от Апрель 29, 2017, 17:36 Мониторю высоту viewport. До уменьшения ширины поля - 850 пикселей. Уменьшаю ширину на одну колонку - становится 970. Расширяю обратно - становится 960 вместо 850 :( И, зараза, не даёт вручную ресайзом высоту поменять >:(
Название: Re: QGridLayout и setSizeConstraint - не уменьшается зона прокрутки Отправлено: str-ms от Май 03, 2017, 09:35 Нашёл, в чём был косяк. Сам же устанавливал минимальную высоту строки self.mainLayout.setRowMinimumHeight, и что-то в этой связке не работало как надо. Убрал эту строчку - грид сам разобрался и заработал как положено.
Спасибо форуму, поговоришь с умным человеком - сам поумнеешь :P Тема закрыта. |