Добавление QFrame в QGridLayout, который находится внутри QScrollArea, прерывает прокрутку

Я работаю над графическим интерфейсом, для которого требуется прокручиваемый QGridLayout в зависимости от размера окна. Мое решение заключалось в том, чтобы вложить это в QScrollArea. Это работает, пока я добавляю только стандартные виджеты в QGridLayout.

Когда я переключаюсь на добавление своих виджетов в QFrame, а затем добавляю этот фрейм в gridlayout, как и раньше, gridlayout больше не прокручивается, а просто сжимает все строки gridlayout столько, сколько необходимо, чтобы включить их все.

Почему это? Есть ли исправление или другой способ сделать это? Я должен упомянуть единственную причину, по которой я использую QFrame, - это, помимо прочего, стилизация фона «ячейки», которая создается при добавлении виджета в макет сетки.


person Steve McLenithan    schedule 02.08.2011    source источник


Ответы (1)


Это произойдет, если ваш виджет не утверждает соответствующие минимальные размеры через его советы по размеру и правила в отношении размеров.

person Arnold Spence    schedule 02.08.2011
comment
Спасибо, это привело меня в правильном направлении. Для справки в будущем я просто использовал .setMinimumSize (width, height) в рассматриваемых фреймах. - person Steve McLenithan; 02.08.2011