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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QFormLayout и полосы прокрутки  (Прочитано 4665 раз)
Agarb
Гость
« : Май 03, 2009, 12:31 »

Qt юзаю пару дней) Вопрос наверное банальный.
Имеется длинная анкета в QFormLayout.
Такой вопрос: как сделать так, чтобы поля анкеты были фиксированного размера, а при изменении размера окна то, что не вмещается, было доступно посредством вертикальной полосы прокрутки?
Записан
spirit
Гость
« Ответ #1 : Май 03, 2009, 13:26 »

используй QScrollArea, в качестве виджета, который будет viewport'ом
использую виджет на котором будет твоя анкета с QFormLayout.
Записан
Agarb
Гость
« Ответ #2 : Май 03, 2009, 14:26 »

используй QScrollArea, в качестве виджета, который будет viewport'ом
использую виджет на котором будет твоя анкета с QFormLayout.

Спасибо за ответ, но нельзя ли по-подробнее, пожалуйста.
Сделал следующее:
Код
C++ (Qt)
   QScrollArea* formArea = new QScrollArea;    
   QWidget* vp=new QWidget(formArea);
   formArea->setViewport(vp);
 
   formLayout->setSizeConstraint(QFormLayout::SetFixedSize);
   vp->setLayout(formLayout);
 
...но полосы прокрутки не появляются. Что делаю не так?
Записан
Agarb
Гость
« Ответ #3 : Май 03, 2009, 15:21 »

Разобрался, так работает.
Код
C++ (Qt)
   QScrollArea* formArea = new QScrollArea;
   QWidget* vp=new QWidget(formArea);
   formArea->setWidget(vp);
   vp->setLayout(formLayout);
   formLayout->setSizeConstraint(QFormLayout::SetFixedSize);
//    vp->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
Теперь такой вопрос: как сделать так, чтобы виджет растягивался горизантально на всю область QScrollArea, а вертикально прокручивался? Нужно чтобы была только одна полоса прокрутки - вертикальная. Пробывал setSizePolicy, но не выходит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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