crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Работа с QSplitter в QtCreator
Алексей1153
  опции профиля:
сообщение 16.2.2013, 16:30
Сообщение #1


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


редактор диалогов в QtCreator не позволяет задавать QSplitter с палитры контролов , а вот захотелось его заставить, и придумалось такое - кладём на форму QFrame , засовываем на него виджеты, сохраняем. Затем с блокноте открываем файл ресурса диалога *.ui и в XML правим класс контрола с QFrame на QSplitter . Сохраняем, перегружаем в креаторе (он сам предложит) . Затем остаётся задать в редакторе (он это уже понимает) нужные свойства сплиттера (в частности - ориентацию разделения). Сохраняем и снова лезем в левый редактор - вложенные теги <widget> сплиттера расставляем в нужном порядке - в таком порядке они расположатся и на экране. Сохраняем, перегружаем. Профит )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.2.2013, 19:01
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 16.2.2013, 18:30) *
QtCreator не позволяет задавать QSplitter с палитры контролов
Компоновщик - не виджет, соответсвенно искать среди виджетов его бесполезно. Ищи среди компоновщиков
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 17.2.2013, 12:38
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Litkevich Yuriy, ну там терять особо и негде, его там нету у меня

Прикрепленное изображение


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

Прикрепленное изображение


и вообще,

Цитата
QSplitter
Inherits: QFrame.


Сообщение отредактировал Алексей1153 - 17.2.2013, 12:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
iReset
  опции профиля:
сообщение 17.2.2013, 20:06
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 178
Регистрация: 6.6.2012
Пользователь №: 3414

Спасибо сказали: 23 раз(а)




Репутация:   2  


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

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


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


iReset, так я и не говорил, что он не поддерживает. На панели ничего не появляется, а вот с выделением двух и ПКМ - да, появилось, спасибо ) Но это нифига неочевидно

кроме того, поменять порядок элементов невозможно без ручной правки XML . Или опять какой-то фикус есть ?

Сообщение отредактировал Алексей1153 - 18.2.2013, 7:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2013, 7:51
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 17.2.2013, 14:38) *
ну там терять особо и негде, его там нету у меня
Ты вообще не туда смотришь.
Палитра компоновщиков всегда была вверху, а в контекстном меню сделана для удобства
Прикрепленное изображение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.2.2013, 8:06
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


блин, я даже не обратил внимания туда )

но с заданием порядка всё та же тема

Сообщение отредактировал Алексей1153 - 18.2.2013, 8:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 18.2.2013, 18:41
Сообщение #8


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


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

Это который "Edit Tab Order"? (кнопка со стрелкой и 123 на скрине выше)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2013, 20:25
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


можно их (виджеты) перетаскивать мышкой. Но т.к. при этом сплиттер схлопнится, то можно пойти таким путём:
Дано, сплиттер с горизонтальным расположением виджетов, в половинках сплиттера лежат: левый виджет и правый виджет, их нужно поменять местами.

Закидываем в левую половину распорку ("пружинку"), хватаем левый виджет и тащим его в правую половину и там бросаем.
Правый виджет тащим в левую половину и там бросаем, из левой половины удаляем временную распорку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 20.2.2013, 9:05
Сообщение #10


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


RazrFalcon, нет, я не про порядок обхода



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

кстати, то, что он схлопнется - не проблема. Обнаружил, что перетаскивать можно на элемент в дереве иерархии - удобно в случае, когда яблоку негде упасть на форме, а прицелиться надо точно

Сообщение отредактировал Алексей1153 - 20.2.2013, 9:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.12.2024, 19:45