Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Мурат от Апрель 17, 2007, 21:09



Название: Проблема с layout'ами
Отправлено: Мурат от Апрель 17, 2007, 21:09
Люди помогите пожалуйста  :oops:
С этим дизайнером никак не справлюсь  :(

Мне надо расположить три виджета A,B,C примерно так :

A______C
 **** |  *******
 **** |   *******
 **** |   *******
------  |   *******
 **** |   *******
 **** |   *******
 **** |   *******
B

Причем что б при изменении ширины главного окна ширина A и B оставалась неизменной, а изменялась только ширина С.
Я сначала объединяю A и B в Vertical layout. Делаю у этого layout ширину подходящего размера, и ставлю в size policy у обоих виджетов fixed. Но этот гад (дизайнер) автомотически меняет размер виджетов и потом я уже не могу его менять.
Надеюсь понятно описал проблему, заранее спасибо!!!


Название: Проблема с layout'ами
Отправлено: SABROG от Апрель 17, 2007, 21:24
Возьми размеры из параметра geometry и вставь их в minimumSize и maximumSize.
В дизайнере при этом форма может выглядить несколько иначе чем при preview.


Название: Проблема с layout'ами
Отправлено: Мурат от Апрель 18, 2007, 13:33
Спасибо помогло  :D   :D   :D


Название: Re: Проблема с layout'ами
Отправлено: pastor от Апрель 18, 2007, 14:38
Цитата: "Мурат"

Причем что б при изменении ширины главного окна ширина A и B оставалась неизменной, а изменялась только ширина С.
Я сначала объединяю A и B в Vertical layout. Делаю у этого layout ширину подходящего размера, и ставлю в size policy у обоих виджетов fixed. Но этот гад (дизайнер) автомотически меняет размер виджетов и потом я уже не могу его менять.
Надеюсь понятно описал проблему, заранее спасибо!!!


Попробуй объедениеть A и B в Vertical layout. Сгрупировать получившийся слой с виджетом С в GridLayout. Для виджета С установить horizontalStretch в 1.

имхо, солюшн придложеный SABROG не есть правильным. Могут возникнуть проблемы c отображением виджетов А и В (например из-за различия в шрифтах) на других платформах. Можешь проверить это изменяя шрифт главного виджета в дизайнере.


Название: Проблема с layout'ами
Отправлено: Мурат от Апрель 19, 2007, 12:58
Цитировать

Попробуй объедениеть A и B в Vertical layout. Сгрупировать получившийся слой с виджетом С в GridLayout. Для виджета С установить horizontalStretch в 1.


Так не получается что б A и B были нужного мне размера, они все время фиксированного размера!


Название: Проблема с layout'ами
Отправлено: pastor от Апрель 19, 2007, 13:05
Цитата: "Мурат"

Так не получается что б A и B были нужного мне размера, они все время фиксированного размера!


Из твоего рисунка в первом посте не понятно про размеры. Мне показалось что виджеты А и В должны быть одинаковы.

По теме... попробуй поиграться с verticalStretch виджета А или В.


Название: Проблема с layout'ами
Отправлено: Мурат от Апрель 19, 2007, 13:39
Цитировать

Мне показалось что виджеты А и В должны быть одинаковы.


Это да, но я не могу сделать так что ширина их была такой какой мне нужно. Как только я их объединяю в layout все пропорции нарушаются  :(


Название: Проблема с layout'ами
Отправлено: pastor от Апрель 19, 2007, 18:07
Цитата: "Мурат"

Это да, но я не могу сделать так что ширина их была такой какой мне нужно. Как только я их объединяю в layout все пропорции нарушаются  :(


Попробуй в коде сделать resize( minimumSizeHint() ) для виджета А и\или В