Выравнивание виджетов на форме как в VCL |
Здравствуйте, гость ( Вход | Регистрация )
Выравнивание виджетов на форме как в VCL |
gogi |
19.6.2008, 17:30
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
Поскажите пожалуйста, как осуществлять в QT выравнивание на подобии того, какое делается в VCL свойствами align/anchors. Если на форме размещён виджет, то как сделать чтобы во время выполнения программы при изменении размеров окна размеры виджета также менялись, чтобы он не выходил за границы окна?
Смотрел в сторону Layout. Но насколько я понял, тут изменяются размеры виджетов которые внутри этих layout'ов на форме. А размер самого layout'a остаётся неизменным. |
|
|
Litkevich Yuriy |
19.6.2008, 17:38
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
ты смотрел в правильную сторону, в чем делаешь окно, руками или в дизайнере?
см. Урок 5 - Строим блоки |
|
|
gogi |
19.6.2008, 17:40
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
В дизайнере. Не хочется для такой мелочи писать код. Ведь это так просто делалось в Delphi/Builder!
Пока как запасной вариант думаю отлавлить resizeEvent и там менять размер layout'a. |
|
|
Litkevich Yuriy |
19.6.2008, 17:51
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
думаю отлавлить resizeEvent Изучи этот пример, и следующий, он прояснит тебе как применять компоновщики, как их друг в друга вкладывать. А в дизайнере положи виджеты примерно. затем читай это |
|
|
gogi |
19.6.2008, 18:14
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вроде QWidget::setLayout мне поможет. В примере он вызывается для MainForm. А если у меня на главной форме есть ещё ToolBar и StatusBar, будет ли разница в том, вызывать его для главной формы или для centralWidget? И ещё. Мне нужно по центру формы разместить (грубо говоря) три панели, а между ними Spacer'ы. Что-то сомнительно, что layout'ы справятся с этим
Сообщение отредактировал gogi - 19.6.2008, 18:18 |
|
|
Litkevich Yuriy |
19.6.2008, 18:21
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вроде QWidget::setLayout мне поможет. дак ты в дизайнере делешь или нет?????? Если в коде то этот метод вызываешь для центрального виджета, ToolBar и StatusBar имеют свои области крепления, см пирмер SDI или MDI Мне нужно по центру формы разместить (грубо говоря) три панели панели есть виджеты, виджеты управляются компоновщиком, у компоновщика можно задавать свойства внешнего зазора и внутреннего (между виджетами которые внутри него) |
|
|
Текстовая версия | Сейчас: 30.11.2024, 9:10 |