Russian Qt Forum

Qt => Вопросы новичков => Тема начата: ksk- от Январь 07, 2013, 07:53



Название: Привязка кнопок к разным краям виджета.
Отправлено: ksk- от Январь 07, 2013, 07:53
Всем привет. ) Имеется виджет, на нём две есть кнопки строго фиксированного размера. Я хочу, чтобы одна из них была привязана к левому краю виджета, а вторая - к правому. Если к левому краю кнопка привязывается по умолчанию, то как быть с правым краем я не знаю. Подскажите пожалуйста возможные варианты решения этой проблемы.


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: Kurles от Январь 07, 2013, 08:27
Издеваешься? QSpacerItem + QHBoxLayout.


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: ksk- от Январь 07, 2013, 08:28
Пока сделал так: вставил между кнопками разделитель и задал ему ширину 10000. Но что-то мне подсказывает, что это совсем нехорошо.


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: gil9red от Январь 07, 2013, 09:34
Берем, например, QVBoxLayout/QHBoxLayout
и используем метод addWidget()
и там передаете третим параметром Alignment :)
например Qt::AlignLeft :)

Пример:
Код:
QPushButton *pButton = new QPushButton();

QHBoxLayout *hBoxLayout = new QHBoxLayout();
hBoxLayout->addWidget(pButton, 0, Qt::AlignLeft);

Все это есть в книгах и документации))


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: ksk- от Январь 07, 2013, 17:52
Все это есть в книгах и документации))

И ведь действительно. ) Видимо от праздников ещё не отошёл. ) Спасибо. ))

А можно ли сделать это в дизайнере?


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: kambala от Январь 07, 2013, 19:05
конечно можно. бросаешь на форму 2 кнопки и горизонтальную растяжку, выбираешь все 3 — правой кнопкой — скомпоновать — по горизонтали.


Название: Re: Привязка кнопок к разным краям виджета.
Отправлено: ksk- от Январь 07, 2013, 21:39
конечно можно. бросаешь на форму 2 кнопки и горизонтальную растяжку, выбираешь все 3 — правой кнопкой — скомпоновать — по горизонтали.

Поначалу я так и делал, но почему-то не получалось. Теперь попробовал ещё раз - получилось.  )
Всему виной моя тупость. ))

Всем большое спасибо за помощь. ))