Как узнать layout в котором находится данный widget ? |
Здравствуйте, гость ( Вход | Регистрация )
Как узнать layout в котором находится данный widget ? |
bobdva |
15.10.2008, 11:36
Сообщение
#1
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
не могу найти в документации как получить layout, в котором находится данный widget (узнать необходимо из самого widget'а).
пытаюсь сделать финт ушами типа
но! если parent widget содержит layout - то всё замечательно, однако, если parent widget содержит layout, который содержит ещё один layout, в котором содержится данный widget, то такая методика сработает не верно. |
|
|
ViGOur |
15.10.2008, 11:44
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
А если просто получить родителя виджета, по идее им будет layout, в котором он находится...
|
|
|
Litkevich Yuriy |
15.10.2008, 12:16
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
по идее им будет layout, в котором он находится... нет, это не всегда так.И вообще делать виджет без родителя, а только пихать его в в компоновщик плохо, например uic из файлов дизанера всегда виджеты привязывает к конкретному родительскому виджету и толко потм помещает в компоновщик. Я уже наступал на грбли с ненормальным поведением QSplitter когда виджеты принадлежат только ему. |
|
|
bobdva |
15.10.2008, 13:32
Сообщение
#4
|
Студент Группа: Участник Сообщений: 29 Регистрация: 2.10.2008 Из: Москва Пользователь №: 377 Спасибо сказали: 0 раз(а) Репутация: 0 |
А если просто получить родителя виджета, по идее им будет layout, в котором он находится... привёл же пример, когда это не так: Цитата если parent widget содержит layout, который содержит ещё один layout, в котором содержится данный widget, то такая методика сработает не верно. и конечно же попробовал и убедился пока ничего иного как пробегания по layout'ам, если layout->indexOf(this) возвращает -1, то бежать по всем элементам (QLayoutItem) layout'ам, брать у них layout() - для элементов, являющимися вложенными layout'ами в layout вернёт указатель на него, иначе просто 0, и рекурсивно вызывать тот же метод... но это как-то... |
|
|
Litkevich Yuriy |
15.10.2008, 13:46
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 17:07 |