Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Панель инструментов с закладками

Автор: 0xF 25.11.2007, 12:32

Нужна панель инструментов с большим количеством кнопок, для удобства хочу разместить их по различным закладкам, как такое сделать? Стандартный QToolBar не бозволяет добавлять закладки :(

Автор: 0xF 25.11.2007, 13:06

Нашел в Qt Assistant класс QTabBar, там одни закладки, теперь осталось скерестить QTabBar с QToolBar, только как?

Автор: balbes 25.11.2007, 14:16

Не совсем понял для чего? Чего ты хочешь добиться?

Ты хочешь сделать, чтобы на каждой закладке были свои кнопки? Или чередовались закладки-кнопки?

Автор: ViGOur 25.11.2007, 14:31

Как я понял тебе нужно что-то вроде той панели инструментов, которая реализована в Word 2007?
Или что-то другое?

Автор: 0xF 25.11.2007, 14:38

Вот что у меня вышло, но оно занимает очень много места по высоте :( Огроменные кнопки( QToolBar::setIconSize почему-то не помог =\ ), рамочки, уголочки... теперь думаю как сделать панель более компактной, у кого-нить есть идеи?


Автор: balbes 25.11.2007, 14:40

Если тебе нужна такая панель, тогда ИМХО просто нужно переопределить QTabBar и создать на нем виджет QToolBar.

Автор: 0xF 25.11.2007, 14:51

Цитата
Если тебе нужна такая панель, тогда ИМХО просто нужно переопределить QTabBar и создать на нем виджет QToolBar.

Я так и сделал, только вот на QTabBar вроде нельзя никаких виджетов создавать, пришлось юзать QTabWidget... вышла громоздкая панель, хочу сделать её покомпактнее, только не выходит чо-то :(

Автор: ViGOur 25.11.2007, 14:58

Попробуй создать виджет по аналогии с examples\graphicsview\diagramscene, там на toolbar'e создаюся QComboBox'ы.

Автор: balbes 25.11.2007, 15:22

Чего-то у меня не получается создать тоже... :(

Автор: ViGOur 25.11.2007, 16:10

Сейчас попробую набросать пример.

Автор: ViGOur 25.11.2007, 17:53

Хм, и правда не все так просто как я думал сначала.
Нужно переопределять данный класс, вводить список виджетов, переопределять их рисование, вешать события переключения табов и ...

Цитата(0xF @ 25.11.2007, 14:51) *
вышла громоздкая панель, хочу сделать её покомпактнее, только не выходит чо-то :(
Можно попробовать таблицы стилей, как вариант. Или переопределять QTabBar.

p.s. когда времени будет побольше сам сделаю такой класик, думаю будет полезен... :)

Автор: 0xF 25.11.2007, 19:45

Вот что вышло у меня, никаких переопределений событий и перерисовок, класс прост как пятка :)
 QTabbedToolBar.zip ( 1.58 килобайт ) : 266


...но и функционал у него не богат :)

Автор: ViGOur 25.11.2007, 20:13

А я всетаки попробую сделать тот класс, о котором говорил...
Может быть и без переопределения. Ты подал мне идею. :)

Автор: 0xF 25.11.2007, 22:44

Закинешь потом сюда, ага? :)

Автор: ViGOur 25.11.2007, 22:58

Обязательно... :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)