Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: xTr1m от Март 19, 2010, 13:56



Название: Помогите правильно организовать layout
Отправлено: xTr1m от Март 19, 2010, 13:56
И снова здравствуйте. Хочу сделать простое окно:
список (занимает все пространство кроме небольшой полоски снизу)
кнопка (находится внизу под списком, у самого правого края диалога)

Я хочу, чтобы при изменении размеров диалога список расширялся вниз и вправо, а кнопка двигалась вместе с правым нижним краем диалога.

Вот я расположил их на форме. Сказал для диалога скомпоновать по сетке. Кнопка растянулась на всю ширину диалога. Пробовал по всякому добавлять горизонтальные layout с отступом слева и т.п. , но нужного результат так и не получил. Уже не знаю как быть, подскажите пожалуйста


Название: Re: Помогите правильно организовать layout
Отправлено: GreatSnake от Март 19, 2010, 14:00
Вставь в layout слева от кнопки HorizontalSpacer.


Название: Re: Помогите правильно организовать layout
Отправлено: xTr1m от Март 19, 2010, 14:06
О да, а я все думал, зачем этот элемент. Думал рассмотреть его после того как разберусь с расположением =)) Большое спасибо


Название: Re: Помогите правильно организовать layout
Отправлено: shirushizo от Март 19, 2010, 14:08
Можешь установить кнопки максимальный размер или фиксированный. QWidget::setMaximumSize(), QWidget::setFixdeSize() соответственно.
Или установи разные размеры в QGridLayout::addWidet(rQWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 ). Если пользуешь QBoxLayout, поэкспериментируй со QBoxLayout::addSpacing ( int size ) и QBoxLayout::addStretch ( int stretch = 0 )


Название: Re: Помогите правильно организовать layout
Отправлено: xTr1m от Март 19, 2010, 14:10
Дело в том, что не очень хочется делать это в коде. Хочется простоты в визуальном редакторе =)


Название: Re: Помогите правильно организовать layout
Отправлено: shirushizo от Март 19, 2010, 14:13
Дело в том, что не очень хочется делать это в коде. Хочется простоты в визуальном редакторе =)
Я в дизайнере неработаю, небыло настолько больших проектов. Тогда спейсер пользуй)