Название: ScrollBar при изменении размера окна Отправлено: Joss от Июль 10, 2009, 01:27 Добрый день от новичка.
Ни как еще не могу победить компоновку. Суть проблемы: Основа: MainWindow, на нем сверху размещены кнопки, чуть ниже Stacked Widget с набором чекбоксов. Хочется: появление вертикальной полосы прокрутки (в которой будет прокручиваться Stacked Widget) при уменьшении вертикальных размеров окна. В дизайнере создан: - Widget - в Widget помещен Stacked Widget Код дизайнера: Код: ... В коде самостоятельно уже прописал: Код: ... Вот тут я начинаю плавать: 1: здесь получается что widget стал потомком QScrollArea, но в дизайнере он был потомком tab_3. Это нормально? 2: после размышления, я пришел к выводу, что нам нужно установить setWidgetResizable для QScrollArea, чтобы он был видимым всегда, при ресайзе окна, но при установке этого флага область сворачивается в минимальную, что-то ничего не получилось сделать. Т.е. сейчас, если поставить setWidgetResizable(false) - области прокрутки не появляются при уменьшении размера окна. Если поставить true - вся область сворачивается в минимальную - по несколько пикселов шириной. Может быть вместо Widget в дизайнере надо было все обернуть в какой-нибудь Vertical Layout? Буду очень благодарен за ответы, чтобы хоть как то сдвинуться. Название: Re: ScrollBar при изменении размера окна Отправлено: lit-uriy от Июль 10, 2009, 01:36 >>1: здесь получается что widget стал потомком QScrollArea,
pm_scrollArea = new QScrollArea(widget); // pm_scrollArea является дочерним виджетом для widget Название: Re: ScrollBar при изменении размера окна Отправлено: lit-uriy от Июль 10, 2009, 01:38 1) в Дизайнере положи на главное окно ScrollArea
2) выдели главное окно и выбери одну из компоновок, вертикальную или горизонтальную 3) на ScrollArea положи Stacked Widget. 4) выдели ScrollArea и выбери одну из компоновок, вертикальную или горизонтальную 5) Настрой ScrollArea как тебе надо. Название: Re: ScrollBar при изменении размера окна Отправлено: Joss от Июль 10, 2009, 02:07 Огромное спасибо!
Еще нужно было Fixed сделать для контента внутри ScrollArea. |