Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с QSplitter в QtCreator
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
Алексей1153
редактор диалогов в QtCreator не позволяет задавать QSplitter с палитры контролов , а вот захотелось его заставить, и придумалось такое - кладём на форму QFrame , засовываем на него виджеты, сохраняем. Затем с блокноте открываем файл ресурса диалога *.ui и в XML правим класс контрола с QFrame на QSplitter . Сохраняем, перегружаем в креаторе (он сам предложит) . Затем остаётся задать в редакторе (он это уже понимает) нужные свойства сплиттера (в частности - ориентацию разделения). Сохраняем и снова лезем в левый редактор - вложенные теги <widget> сплиттера расставляем в нужном порядке - в таком порядке они расположатся и на экране. Сохраняем, перегружаем. Профит )
Litkevich Yuriy
Цитата(Алексей1153 @ 16.2.2013, 18:30) *
QtCreator не позволяет задавать QSplitter с палитры контролов
Компоновщик - не виджет, соответсвенно искать среди виджетов его бесполезно. Ищи среди компоновщиков
Алексей1153
Litkevich Yuriy, ну там терять особо и негде, его там нету у меня

Нажмите для просмотра прикрепленного файла

а вот после правки в дереве всё ок видно

Нажмите для просмотра прикрепленного файла

и вообще,

Цитата
QSplitter
Inherits: QFrame.
iReset
Цитата(Алексей1153 @ 17.2.2013, 13:38) *
...а вот после правки в дереве всё ок видно...
Если бы Creator не поддерживал QSplitter, то он у тебя и не появился бы. Раз появился в дереве, значит, поддерживает.

Цитата(Алексей1153 @ 17.2.2013, 13:38) *
...ну там терять особо и негде, его там нету у меня...
Просто ты не там ищешь. Кидаешь на форму два элемента, которые надо поместить на QSplitter. Щелкаешь по первому, затем с нажатой Ctrl по второму - выделяешь их. Затем правой клавишей мыши по одному из них -> Lay out -> Lay out ... in Splitter (либо на панели управления кнопки загораются).
Алексей1153
iReset, так я и не говорил, что он не поддерживает. На панели ничего не появляется, а вот с выделением двух и ПКМ - да, появилось, спасибо ) Но это нифига неочевидно

кроме того, поменять порядок элементов невозможно без ручной правки XML . Или опять какой-то фикус есть ?
Litkevich Yuriy
Цитата(Алексей1153 @ 17.2.2013, 14:38) *
ну там терять особо и негде, его там нету у меня
Ты вообще не туда смотришь.
Палитра компоновщиков всегда была вверху, а в контекстном меню сделана для удобства
Нажмите для просмотра прикрепленного файла
Алексей1153
блин, я даже не обратил внимания туда )

но с заданием порядка всё та же тема
RazrFalcon
Цитата(Алексей1153 @ 18.2.2013, 6:23) *
кроме того, поменять порядок элементов невозможно без ручной правки XML . Или опять какой-то фикус есть ?

Это который "Edit Tab Order"? (кнопка со стрелкой и 123 на скрине выше)
Litkevich Yuriy
можно их (виджеты) перетаскивать мышкой. Но т.к. при этом сплиттер схлопнится, то можно пойти таким путём:
Дано, сплиттер с горизонтальным расположением виджетов, в половинках сплиттера лежат: левый виджет и правый виджет, их нужно поменять местами.

Закидываем в левую половину распорку ("пружинку"), хватаем левый виджет и тащим его в правую половину и там бросаем.
Правый виджет тащим в левую половину и там бросаем, из левой половины удаляем временную распорку.
Алексей1153
RazrFalcon, нет, я не про порядок обхода



Litkevich Yuriy, Обычный компоновщик такое позволяет, а когда на форме лежит сплиттер с его содержимым, таскается всё вместе, он не даёт таскать отдельный элемент. А так бы да, перетащил бы и успокоился :)

кстати, то, что он схлопнется - не проблема. Обнаружил, что перетаскивать можно на элемент в дереве иерархии - удобно в случае, когда яблоку негде упасть на форме, а прицелиться надо точно
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.