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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Решено : Как устанавливать размеры виджетов в QLayout  (Прочитано 8360 раз)
Red Devil
Гость
« : Май 31, 2008, 13:38 »

Как мне указать layout, какие размеры должны быть у виджета ?
Хочу чтобы первый элемент, занимал определенное кол-во пикселей, а второй все остальное свободное пространство.
В BoxLayout есть параметр stretch - мне нужен практически он только с возможностью установить полный контроль над размером помещаемого виджета.
« Последнее редактирование: Май 31, 2008, 19:05 от Red Devil » Записан
Sergeich
Гость
« Ответ #1 : Май 31, 2008, 14:47 »

QWidget::setSizePolicy(  QSizePolicy::Fixed ) для первого и QWidget::setSizePolicy(  QSizePolicy::Expanding ) для второго.
Читать http://doc.trolltech.com/4.4/layout.html или тоже самое по-русски: http://www.crossplatform.ru/documentation/qtdoc4.3/layout.php
Записан
Red Devil
Гость
« Ответ #2 : Май 31, 2008, 15:09 »

Странно как-то.
Я пытаюсь сделать setSizePolicy для QHeaderView - pView->setSizePolicy(QSizePolicy::Fixed), компилятор мне говорит что Fixed недоступен (он не public).
Записан
Sergeich
Гость
« Ответ #3 : Май 31, 2008, 16:53 »

#inlude <QSizePolicy> делал?
Записан
Red Devil
Гость
« Ответ #4 : Май 31, 2008, 17:31 »

сделал :
Код:
pView->setSizePolicy(QSizePolicy::Fixed);
Цитировать
\mainwnd.cpp(66) : error C2248: 'QSizePolicy::QSizePolicy' : cannot access private member declared in class 'QSizePolicy'
       p:\qt_4.4.0\include\qtgui\../../src/gui/kernel/qsizepolicy.h(201) : see declaration of 'QSizePolicy::QSizePolicy'
       p:\qt_4.4.0\include\qtgui\../../src/gui/kernel/qsizepolicy.h(58) : see declaration of 'QSizePolicy'
Записан
Sergeich
Гость
« Ответ #5 : Май 31, 2008, 19:01 »

Есть два варианта setSizePolicy:
void setSizePolicy ( QSizePolicy )
void setSizePolicy ( QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical )
юзай
pView->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
или
pView->setSizePolicy( QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)  );
Записан
Red Devil
Гость
« Ответ #6 : Май 31, 2008, 19:06 »

Спасибо, разобрался.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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