Qt Designer; сложность размещения виджетов в нужном родителе - PullRequest
12 голосов
/ 21 сентября 2010

Используя Qt Designer, я создал пару QFrames друг в друге, каждый из которых имеет горизонтальную компоновку.Их таблица стилей предполагает, что у них не должно быть полей и отступов.Это означает, что в представлении Qt Designers, а также в конечном результате, между QFrames не видно пробелов.

Используя перетаскивание, я могу поместить виджеты в окно, оно показывает синюю линию, гдеон будет размещен (в макете).Тем не менее, невозможно добавить еще один QFrame к родительскому элементу QFrame, который я не вижу (и, следовательно, добавляю).На правой панели также есть дерево, но при падении на родительском элементе оно автоматически переходит к одному из дочерних элементов ...

Например, у меня есть такая настройка:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)

Добавлениеновый кадр, что бы я ни пытался, дает мне:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
    - QFrame (new child)

Но я действительно хочу:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
  - QFrame (new parent)

Есть ли какая-либо функция, которую я не обнаружил для точного размещения новых виджетов?

Ответы [ 3 ]

6 голосов
/ 22 сентября 2010

Вы можете использовать окно Инспектора объектов, но, похоже, вы не можете вставить его в QFrame с заблокированным макетом.

Итак, учитывая ваш макет:

QMainWindow
- QWidget
  - QFrame (A)
    - QFrame (B)
    - QFrame (C)
    - QFrame (D)

Выберите QFrame D в окне инспектора объектов и обрежьте его, щелкните правой кнопкой мыши QWidget и сломайте макет (ctrl-0), затем вставьте. Затем повторно примените макет.

5 голосов
/ 24 сентября 2010

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

0 голосов
/ 01 июня 2017

В Qt Creator 4.3 мне также было трудно перетащить элемент в макет, в котором еще нет элементов.

Самый простой способ заставить его работать - добавить Layout в форму. Затем перетащите ваш элемент из Toolbox на макет в Object Inspecter Window. Который добавит предмет в Layout.

Неизвестно, работает ли это для более старых версий более старых версий Qt Creator.

...