Как заморозить сплиттер. |
Здравствуйте, гость ( Вход | Регистрация )
Как заморозить сплиттер. |
Гость_Гость_Sergey_*_* |
8.11.2009, 13:03
Сообщение
#1
|
Гости |
Ребят, хочется реализовать следующий функционал: есть два виджета, сплиттером соответственно настраиваю их размеры, затем при нажатии соответствующей кнопки, сплиттер должен прятаться, в то время как виджеты должны остаться с установленными размерами.
Пытался пользовать QSplitter, но ширину не установить в 0, да и скрыть не получится, т.к. все дочки тоже спрячутся. Какие пути есть? |
|
|
BRE |
8.11.2009, 13:20
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Сам не пробовал, но начал бы эксперименты с:
QSplitterHandle * QSplitter::handle ( int index ) const и попробовал бы сделать disable этому объекту (наследник QWidget). |
|
|
Stanislaus |
12.11.2009, 15:16
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 23.4.2008 Пользователь №: 156 Спасибо сказали: 0 раз(а) Репутация: 0 |
Можно зафиксировать размеры контроллируемых сплиттером виджетов.
и setSizes()... Например splitter->setSizes(QList<int>() << 300 << 0); В этом случае, последний виджет скрывается. Можно зафиксировать размеры контроллируемых сплиттером виджетов. и setSizes()... Например splitter->setSizes(QList<int>() << 300 << 0); В этом случае, последний виджет скрывается. Сорри, тупанул, не понял вопроса |
|
|
Elfinit |
13.11.2009, 17:53
Сообщение
#4
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Если я правильно понимаю, то:
1. есть 2 виджета плюс сплиттер. Т.е. на самом деле 3 виджета. 2. Сплиттер должен ресайзить виджеты и при необходимости изчезать. По-моему, нет никаких сложностей в том, чтобы скрыть сплиттер. Размер виджетов разве при этом изменится? Ну а ресайз я бы делал отловом сиглала splitterMoved ( int pos, int index ) |
|
|
frg10 |
14.11.2009, 13:38
Сообщение
#5
|
Студент Группа: Участник Сообщений: 47 Регистрация: 8.11.2009 Из: Ростов-на-Дону Пользователь №: 1213 Спасибо сказали: 5 раз(а) Репутация: 2 |
|
|
|
Elfinit |
15.11.2009, 12:59
Сообщение
#6
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
А зачем окна устанавливать дочерними для сплиттера????
|
|
|
MoPDoBoPoT |
15.11.2009, 14:20
Сообщение
#7
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
|
|
|
Elfinit |
15.11.2009, 14:38
Сообщение
#8
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Блин, перепутал сплиттер со слайдером, сори....
Мм....Тогда....например, делать фрейм, в которой кидать сплиттер. При нажатии на кнопку перекидывать виджеты из сплиттера во фрейм (там надо будет с компоновкой немного разобраться....) Ну а сплиттер скрывать..) |
|
|
Litkevich Yuriy |
15.11.2009, 17:36
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
А что вариант BRE не подходит?
По моему самый простой |
|
|
MoPDoBoPoT |
15.11.2009, 18:18
Сообщение
#10
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
|
|
|
Текстовая версия | Сейчас: 24.12.2024, 2:16 |