widget, совмещающий свойства QSplitter и QToolBox |
Здравствуйте, гость ( Вход | Регистрация )
widget, совмещающий свойства QSplitter и QToolBox |
TaIRou |
1.8.2011, 22:26
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 26.12.2010 Пользователь №: 2303 Спасибо сказали: 2 раз(а) Репутация: 0 |
То есть (если я не ошибся в названиях классов в топике) мне необходим такой виджет-контейнер, в котором бы надобие тулбокса было бы реализовано скрытие и показ виджета по нажатию какого-то "заголовка-кнопки", но в тоже время имелась бы возможность лицезреть несколько виджетов из контейнера одновременно и менять их размер.
Поясню на картинках: Вот так это выглядит в проводнике WinXp, правда размеры содержимого не меняются, но идея общая соответсвует. Раскрывающийся текст А вот чего я навоял, стащив кой-чего с исходников Qt Creator'a Вот так выглядит приложение с развернутыми вкладками: Раскрывающийся текст Вот так с частично свернутыми: Раскрывающийся текст Ну и на исходе дня я подумал, может я ерундой занимаюсь и есть готовое решение? |
|
|
Алексей1153 |
2.8.2011, 7:14
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
есть такой QToolBox, чем-то похож, но немного не то. Наверное, можно унаследовать и подпилить стилями
|
|
|
Litkevich Yuriy |
2.8.2011, 17:48
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
может я ерундой занимаюсь и есть готовое решение? ну в принципе этот велик до сих пор многие изобретают, т.к. у всех свои особенности, колёсам там квадратные, вместо сиденья штырь, ...Самое, видимо, известное творение - iisTaskPanel (Программер из украинской фирмы сделал) |
|
|
TaIRou |
2.8.2011, 21:12
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 26.12.2010 Пользователь №: 2303 Спасибо сказали: 2 раз(а) Репутация: 0 |
Самое, видимо, известное творение - iisTaskPanel (Программер из украинской фирмы сделал) С библиотекой QSint имел счастье ознакомится несколько часов назад. Хорошая вещь, но я так понял нет возможности ручного ресайза виджетов в ActionPanel, как в QSplitter'e. Спасибо за наводку на чудесный сайт, стянул оттуда QIrExpanderBox, тоже опробую. есть такой QToolBox, чем-то похож, но немного не то. Наверное, можно унаследовать и подпилить стилями Чем похож?) тут не велосипед, тут целый мопед вырисовывается...) |
|
|
Алексей1153 |
2.8.2011, 21:24
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
TaIRou, он умеет раздвигаться и сдвигаться. На нём можно расположить виджеты.
|
|
|
TaIRou |
2.8.2011, 21:39
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 26.12.2010 Пользователь №: 2303 Спасибо сказали: 2 раз(а) Репутация: 0 |
TaIRou, он умеет раздвигаться и сдвигаться. На нём можно расположить виджеты. Вот незадача, которые могут сдигать/раздвигать уже три, а с интерактивным изменением размера как у QSplitter'a, пока нет нифига. Все бы ничего, закинуть такие контейнеры в QSplitter, так нет, этот зверь начинает себя интересно вести, когда виджеты в обход него свой размер меняют, сдвигаясь и раздвигаясь. "А у вас нет такого же, только без крыльев?" - "Нет!" - "Будем искать!" |
|
|
Litkevich Yuriy |
3.8.2011, 17:54
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
TaIRou, ну исходник iisTaskPanel есть, лезь туда, дорабатывай. Этот путь, я так думаю, будет самым коротким.
|
|
|
TaIRou |
3.8.2011, 18:03
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 26.12.2010 Пользователь №: 2303 Спасибо сказали: 2 раз(а) Репутация: 0 |
TaIRou, ну исходник iisTaskPanel есть, лезь туда, дорабатывай. Этот путь, я так думаю, будет самым коротким. Весьма полезным оказалось класть QSplitter на QScrollArea и вызывать метод void QScrollArea::setWidgetResizable ( bool resizable ). А после этого смело совать виджеты наподобие ActionPanel из QSint (то есть тех, которые сами себя ресайзят). QSplitter начинает себя вести гораздо адекватнее. Это я подсмотрел в библиотеке QIron. Вот правда сама библиотека QIron нихрена у меня не компилируется |
|
|
Текстовая версия | Сейчас: 3.1.2025, 4:19 |