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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться с привязками елементов  (Прочитано 3375 раз)
crazyblot
Гость
« : Июль 13, 2010, 13:54 »

Задачка такая. Есть масштабируемое окно. У него есть шапка (полоска графики) и футтер (такаяже полоска).
1) Как сделать так, чтобы фрейм содержащий шапку изменялся по ширине в зависимости от ширины окна.
2) Как сделать так чтобы футтер "прилипал" к нижней части окошка?
Записан
Alp
Гость
« Ответ #1 : Июль 13, 2010, 14:01 »

Код
C++ (Qt)
void QMainWidget::UpdateLayout()
{
   if( layout() )
       delete layout();
   QVBoxLayout* mainlayout = new QVBoxLayout;
   mainlayout->setMargin(0);
   mainlayout->setSpacing(0);
   mainlayout->addWidget(header, 1);    //Stretch factor = 1
   mainlayout->addWidget(content, 20);  //Stretch factor = 20, i.e. second cell of layout has size = WidgetHeight/22 * 18
   mainlayout->addWidget(footer, 1);     //Stretch factor = 1
   setLayout(mainlayout);
}
 

Вот так?
Записан
crazyblot
Гость
« Ответ #2 : Июль 13, 2010, 14:46 »

Ого. Я как бы графический дизайнер и с программированием не дружу. Это же можно срдствами редактора реализовать?
Если я правильно понял код создает вертикальный лейаут и вставляет в него три строчки из объектов Widget. И меняет stretchfactor для них.

Теперь нужно понять как работает tretchfactor - из вашего примера я не понял смысл приведенных значений.
Записан
crazyblot
Гость
« Ответ #3 : Июль 14, 2010, 16:48 »

На самом деле все довольно просто. Не очевидная операция - назначение Layout для centralwidget в окне.
После того как это сделать например через Object Inspector предварительно задав Size Policy для элементов разметки окна, все начинает ресайзитсья как положено.

Вот тут сцылка на английском которая помогла сделать нужное средствами QT Designer only.

http://lists.trolltech.com/qt-interest/2007-10/thread00367-0.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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