Подтвердить что ты не робот

Qt Designer; затруднение размещения виджетов в правильном родителе

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

С помощью drag-and-drop я могу разместить виджеты в окне, он показывает синюю линию, в которой он будет размещен (в макете). Однако невозможно добавить другой 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)

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

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

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