2016-06-17 9 views
3

Я хочу, чтобы пользователь, использующий мое приложение, мог перетаскивать границу между двумя виджетами в моем окне, что изменит их размер (то есть вы перетащите его вниз, а верхний станет больше, а нижний будет меньше, -versa).Как разрешить пользователю изменять размер элементов в окне с помощью Qt-дизайнера?

Есть ли что-нибудь в дизайнере Qt, который позволит пользователю изменять размер элемента в окне в определенных ограничениях?

Спасибо

ответ

6

Что вы описываете, называется виджет QSplitter. В Qt Designer вы можете создать его на , выбрав 2 или более виджета, а затем нажмите кнопку сплиттера на панели инструментов вверху. Он находится в том же месте, что и кнопки макета. Он разместит эти виджеты внутри QSplitter. Вам все равно нужно разместить виджет сплиттера внутри другого макета. Он создаст ручку между ними, чтобы вы могли изменять размер, который получает каждый виджет.

enter image description here

+0

Спасибо! Это было именно то, что я хотел. Есть ли способ установить распределение по умолчанию для того, насколько велики каждый виджет в сплиттере? –

+0

Вы можете использовать 'moveSplitter' или' setSizes', но не в Designer. –

0

Вы ищете QDockWidget. Он может делать все, что вы описали выше и более. Пользователь может подключить виджет к разным сторонам окна, изменив виджет сверху или снизу. Вы можете настроить минимальный и максимальный размеры, а также размеры по умолчанию.