Russian Qt Forum
Сентябрь 30, 2024, 02:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сделать, чтобы QBoxLayout масштабировался в client area?  (Прочитано 4856 раз)
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« : Январь 26, 2007, 22:05 »

Qt 4.2.2

Как сделать, чтобы QBoxLayout масштабировался в client area формы? Т.е. увеличиваем размер формы, и QBoxLayout тоже меняет свои размеры. (аналог в Дельфи: Align=alClient)

спасибо

добавлено спустя 2 часа 15 минут:

 ответьте плиз кто-нибудь, вопрос простой ведь
Записан
Steven_Orko
Гость
« Ответ #1 : Январь 27, 2007, 00:01 »

Ты хочешь сказать, что он не изменяется?Непонимающий Это как???
Почему не используешь QVBoxLayout QHBoxLayout?
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #2 : Январь 27, 2007, 02:08 »

Да, именно это я и хочу сказать.

Т.е. я не знаю как установить так, чтобы QBoxLayout растягивался на всю клиентскую область формы.

(Использую QHBoxLayout, а написал QBoxLayout, потому что должно быть общим)

Как-то просто должно делаться, но че-то я не дорубаю.. Функций много всяких, setAlignment, sizePolicy и др. А что из этого сделать - неясно.

добавлено спустя 2 часа:

 1. в функции setupUI() есть строка:

Код:
horizontalLayout->setGeometry(QRect(0, 0, 566, 194));


если я ее убираю, то она все равно возвразается на место, т.к. это все генерится.

2. Если же я редактирую .ui (xml) файл, убирая вот это:
Код:
<property name="geometry" >
     <rect>
      <x>0</x>
      <y>0</y>
      <width>566</width>
      <height>194</height>
     </rect>
    </property>


то при загрузке проекта, все опять возвращается.
Записан
Dendy
Гость
« Ответ #3 : Январь 27, 2007, 11:28 »

ВьІ наверное неправильно отредактировали форму. Лейоут не должен висеть на форме отдельно, он должен бьІть к ней прикреплен. Скорее всего ВьІ вьІделили елементьі и щелкнули на кнопке обьединить их в горизонтальньІй/вертикальньІй лейоут (после чего последний можно произвольно таскать по форме, а также включить в другой лейоут). А надо бьІло так: щелкаете на окне формьІ (мимо всех окон), чтобьІ она стала текущей. Потом на кнопку обьединить в горизонтальньІй/вертикальньІй лейоут. Таким образом лейоут прикрепляется к форме и обьединяет все елементьІ на ней.
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #4 : Январь 27, 2007, 16:27 »

Dendy,
Спасибо, заработало!!!

Изначально я делал не так, как Вы предположили, а просто кидал Layout на форму и в него уже кидал контролы. Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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