Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: niro от Декабрь 24, 2008, 21:06



Название: Компоновка виджетов - вопрос с ресайзом
Отправлено: niro от Декабрь 24, 2008, 21:06
Здравствуйте!
Делаю первые шаги в освоении дизайнера и возник вопрос с MainWindow и виджетами на нем.
Необходимо чтобы левый виджет listbox оставался по ширине таким же, но при ресайзе изменял высоту, а правый виджет frame заполнял все остальное пространство. И вообще где можно почерпнуть информации о работе с компоновкой виджетов на форме, кроме как в qt assistant ?
Можно пошагово описать решение проблемы ?


Название: Re: Компоновка виджетов - вопрос с ресайзом
Отправлено: BaltikS от Декабрь 24, 2008, 21:19
Задать в свойствах формы setMaximumSize


Название: Re: Компоновка виджетов - вопрос с ресайзом
Отправлено: niro от Декабрь 24, 2008, 21:26
Можно подробнее о установке параметов setMaximumSize ?


Название: Re: Компоновка виджетов - вопрос с ресайзом
Отправлено: BRE от Декабрь 24, 2008, 21:28
Здравствуйте!
Делаю первые шаги в освоении дизайнера и возник вопрос с MainWindow и виджетами на нем.
Необходимо чтобы левый виджет listbox оставался по ширине таким же, но при ресайзе изменял высоту, а правый виджет frame заполнял все остальное пространство. И вообще где можно почерпнуть информации о работе с компоновкой виджетов на форме, кроме как в qt assistant ?
Можно пошагово описать решение проблемы ?
Сначало нужно разобраться в самой технологии. Почитай про Layout Management в assistant или в переводе на русский здесь http://www.doc.crossplatform.ru/qt/4.3.2/layout.html (http://www.doc.crossplatform.ru/qt/4.3.2/layout.html).
А так на пальцах:
0. Включить горизонтальный layout: Menu -> Form -> Lay out Horizontally.
1. Установить для listWidget: maximumSize -> Width = 200 (нужная ширина).
2. Установить для frame: sizePolicy -> Horizontal Policy = MinimumExpanding.


Название: Re: Компоновка виджетов - вопрос с ресайзом
Отправлено: niro от Декабрь 24, 2008, 21:46
Спасибо. Вопрос решен.