Элементы управления настаивают на том, чтобы быть слишком большими и не будут изменять размер в QtDesigner - PullRequest
11 голосов
/ 09 марта 2011

Я создал «виджет» в Qt Designer с около десятка элементов управления, организованных в горизонт. и вер. макеты. Как ни странно, каждый горизонтальный макет хочет иметь какой-то большой размер, около 400 пикселей в ширину, когда вся форма имеет ширину 275 пикселей. Содержащиеся внутри кнопки и т. Д. Слишком широки для формы. Когда я изменяю размер формы виджета по вертикали или горизонтали (иногда с отключенной максимальной шириной), различные макеты не изменяют размер. Ручная установка ширины (или минимальной ширины, или максимальной ширины) может повлиять на размеры элементов управления, но не на их расстояние в макете. Проставки вставлены, чтобы некоторые элементы управления находились сверху, а некоторые - снизу, с гибким промежутком между ними, просто не работают вообще.

Какую (наверное) очевидную вещь я упускаю из виду?

(Обычно я не программист приложений или графических интерфейсов, это полный пещерный человек.)

1 Ответ

33 голосов
/ 19 марта 2011

Не вини себя, я думаю, что логика компоновки Qt немного запутывает, когда ты начинаешь иметь дело с.Если я хорошо понял, что вы говорите, содержимое формы не «связано», то есть не изменяет размер и не ограничивается размером формы, верно?Я думаю, что вы пропустили, чтобы установить "центральный макет виджета".Попробуйте следующее:

  1. Откройте форму, дважды щелкнув ее в QtCreator (я не часто использую QtDesigner, но думаю, что расположение редактора практически одинаково для обоих инструментов).

  2. Перейдите в правое верхнее окно (которое имеет 2 столбца «Класс объекта») и щелкните правой кнопкой мыши корневой объект (например, MainWindow).

  3. Появится контекстное меню.Нажмите «Макет» (последний пункт меню) и выберите «Макет по вертикали» или «Макет по горизонтали»

enter image description here

ЭтиActions создаст макет объекта centralWidget.Если вы выберете «centralWidget» в окне «Object-Class», вы сможете просмотреть и изменить свойства макета в (внизу справа) окне Property-Value;они являются последними свойствами в списке.

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

Надеюсьэто помогает.

...