Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] табличное размещение виджетов 
:(
    Опции темы
kuvshinka
Дата 18.2.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



Скажите пожалуйста каким образом программно (или вручную) можно расположить 4, допустим frame-a, таким образом, как показано во вложенном архиве программы (фреймы должны занимать всю форму целиком с указанным их взаимным расположением) и чтобы при изменении размеров формы соответствующим образом менялись бы и размеры фреймов при сохранении их заданной ориентации. Пытаюсь использовать в этих целях QGridLayout – что-то не получается (см. архив)

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  pril1.rar 180,97 Kb
PM MAIL   Вверх
bsa
Дата 18.2.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Создай HBoxLayout, на него пихни правый виджет, а слева от него помести VBoxLayout, в котором будут 3 левых виджета.
Затем у формы задай VBoxLayout. При желании можешь кнопку разместить на HBoxLayout со спейсером.
PM   Вверх
kuvshinka
Дата 18.2.2010, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



что за  VBoxLayoutу формы?

Добавлено @ 23:47
пож-та исп-ие Layout -ов  доделайте в архиве (его см. выше)....+ мне надо сделать изменение размеров фреймов при изменении размеров формы...

Это сообщение отредактировал(а) kuvshinka - 18.2.2010, 23:51
PM MAIL   Вверх
bsa
Дата 19.2.2010, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



kuvshinka, я вообще-то все сказал. В документации ты легко найдешь описание классов QVBoxLayout и QHBoxLayout.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  mainwindow.zip 0,84 Kb
PM   Вверх
kuvshinka
Дата 21.2.2010, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



bsa: спасибо за архив но хотелось бы самой понять принцип работы с этими лэйаутами:
1. Кладу HBoxLayout на форму….на него – фрейм4, который сразу занимает всю область (почему?) HBoxLayout-а  и становится невозможным  передвижение и изменение размеров HBoxLayout-а ???….
2. Чуть левее HBoxLayout –а кладу VBoxLayout, а на него – фрейм1, который тоже занимает всю область данного Vлэйаута (!!!) и тогда при добавлении следующего фрейма2 на этот жеVBoxLayout  получается, что этот фрейм2 добавляется на фрейм1, а не на VBoxLayout…Как быть?





Это сообщение отредактировал(а) kuvshinka - 21.2.2010, 01:01
PM MAIL   Вверх
kuvshinka
Дата 21.2.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



ну подскажите пож-та как на один лэйаут (VBoxLayout) поместить несколько фреймов? (а то при добавлении первого фрейма он занимает всю область лэйаута и изменить его (фрейма) размеры не получается)
почему фрейм занимает сразу всю площадь лэйаута, а например кнопка, чекбокс или эдит - нет? 

Это сообщение отредактировал(а) kuvshinka - 21.2.2010, 18:19
PM MAIL   Вверх
NewDima
Дата 23.2.2010, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: нет
Всего: 12



kuvshinka, у кнопки, чекбока и у эдита установлен фиксированный вертикальный размер по умолчанию. Ничего страшного, что фрейм расползается на всю область лэйаута, нужно перетащить новый объект примерно на границу брошенного фрэйма и лэйаута-владельца, там появится полосочка
PM ICQ   Вверх
Peter
Дата 23.2.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 28.7.2003
Где: Ставрополь

Репутация: нет
Всего: 1



Года два вплотную занимался программированием с использованием Qt, но так и не навострился работать с дизайнером. Редактировал файлы .ui вручную - вставлял объекты в VBox, Layout.


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
kuvshinka
Дата 23.2.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



NewDima: сразу и не поймешь - какая-то полосочка...и почему так сделано? получается далеко не с первого раза (и все равно толком технология непонятна - тыкал, тыкал и когда-то получилось)...а после добавления например двух фреймов на вертикальный лэйаут как можно поменять размеры этих фреймов? у меня получается, что каждый фрейм занимает ровно половину высоты лэйаута...хотелось бы это как-то изменить...свойство geometry поменять нельзя...
PM MAIL   Вверх
kuvshinka
Дата 23.2.2010, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

Репутация: нет
Всего: нет



так как же можно изменить размеры фреймов, помещенных на Vertical Layout (см. предыдущее сообщение в данной теме)?
PM MAIL   Вверх
bsa
Дата 24.2.2010, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



kuvshinka, в данном случае нужно манипулировать "лояльностью" к изменению размеров (см. SizePolicy stretch factor).

Это сообщение отредактировал(а) bsa - 24.2.2010, 17:10
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.