Как вставить компоненты в GridLayout сразу с нужным спейсингом по вертикали? |
Здравствуйте, гость ( Вход | Регистрация )
Как вставить компоненты в GridLayout сразу с нужным спейсингом по вертикали? |
Fynjy |
8.12.2017, 7:52
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 8.12.2017 Пользователь №: 4685 Спасибо сказали: 0 раз(а) Репутация: 0 |
Привет Всем!
В Qt Designer размещаю QScrollArea. В него пихаю QGridLayout. В этом QGridLayout размещаю компоненты QLineEdit, по 2 на строку. Т.е типа нажал кнопку, создались 2 QLineEdit и пихнулись в свободные ячейки строки gridlayout. Если в grid понапихать скажем 10 строк с QLineEdit, то между ними установится нормальный вертикальный space, который впринципе я задал для grid: ui->gridLayout->setVerticalSpacing(9); У меня не получается сохранить этот space, когда я закидываю 2 или 3 строки, этот space всегда больше...компоновщик как то разбрасывает строки равномерно по вертикали, пока ScrollArea не заполнится. Как сделать чтобы при добавлении второй строки в скроллзону у меня уже был нормальный space??? Да, кстати добавляю виджеты с выравниванием по Top, думал так смогу избавиться, а нет, не получается...
|
|
|
Алексей1153 |
9.12.2017, 15:06
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Fynjy,
Цитата размещаю QScrollArea. В него пихаю QGridLayout вот тут уже неправильно: на QScrollArea размещается виджет произвольного размера (QScrollArea::setWidget), а не компоновщик. А вот уже в виджет можно разместить компоновщик получается, что QScrollArea - это окно для просмотра его подшефного виджета |
|
|
Fynjy |
9.12.2017, 16:37
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 8.12.2017 Пользователь №: 4685 Спасибо сказали: 0 раз(а) Репутация: 0 |
Fynjy, Цитата размещаю QScrollArea. В него пихаю QGridLayout вот тут уже неправильно: на QScrollArea размещается виджет произвольного размера (QScrollArea::setWidget), а не компоновщик. А вот уже в виджет можно разместить компоновщик получается, что QScrollArea - это окно для просмотра его подшефного виджета Расскажите как надо. На форме размещен через QtDesigner ScrollArea, в него автоматом добавился какой-то виджет(это видно по дереву в дизайнере), а уже под ним компоновщик, так же закинут. Остальные виджеты создаю динамически, но компоновщик их раздвигает, если их 2 допустим(один вверху, второй внизу), если три то появляется еще один по центру, ну а когда 6-7, то оставляет нормльный вертикальный space, имеено тот который мне и необходим даже когда я размещаю два три виджета |
|
|
Алексей1153 |
10.12.2017, 10:05
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Fynjy, пристегни минимальный проект с проблемой, посмотрим
|
|
|
Анна |
18.12.2017, 15:08
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Я бы в копановщик вставила снизу QVerticalSpacer и другие элементы вставляла бы перед ним.
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 1:10 |