Russian Qt Forum
Июнь 10, 2024, 08:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с layout'ами  (Прочитано 5804 раз)
Мурат
Гость
« : Апрель 17, 2007, 21:09 »

Люди помогите пожалуйста  :oops:
С этим дизайнером никак не справлюсь  Грустный

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

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

Причем что б при изменении ширины главного окна ширина A и B оставалась неизменной, а изменялась только ширина С.
Я сначала объединяю A и B в Vertical layout. Делаю у этого layout ширину подходящего размера, и ставлю в size policy у обоих виджетов fixed. Но этот гад (дизайнер) автомотически меняет размер виджетов и потом я уже не могу его менять.
Надеюсь понятно описал проблему, заранее спасибо!!!
Записан
SABROG
Гость
« Ответ #1 : Апрель 17, 2007, 21:24 »

Возьми размеры из параметра geometry и вставь их в minimumSize и maximumSize.
В дизайнере при этом форма может выглядить несколько иначе чем при preview.
Записан
Мурат
Гость
« Ответ #2 : Апрель 18, 2007, 13:33 »

Спасибо помогло  Веселый   Веселый   Веселый
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Апрель 18, 2007, 14:38 »

Цитата: "Мурат"

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


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

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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Мурат
Гость
« Ответ #4 : Апрель 19, 2007, 12:58 »

Цитировать

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


Так не получается что б A и B были нужного мне размера, они все время фиксированного размера!
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Апрель 19, 2007, 13:05 »

Цитата: "Мурат"

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


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

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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Мурат
Гость
« Ответ #6 : Апрель 19, 2007, 13:39 »

Цитировать

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


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

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Апрель 19, 2007, 18:07 »

Цитата: "Мурат"

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


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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 19.