Russian Qt Forum

Qt => Общие вопросы => Тема начата: Disa от Февраль 06, 2013, 21:35



Название: Qt piemenu
Отправлено: Disa от Февраль 06, 2013, 21:35
Добрый вечер.
Вопрос - как организовать круговое меню? Нашел туториал по qtpiemenu, но он видимо древний, т.к. у меня на 5.0.0 и 4.8.2 нет нужного хидера.
Как правильнее делать - как-то модифицировать contextmenu через stylesheets?


Название: Re: Qt piemenu
Отправлено: Bepec от Февраль 06, 2013, 21:53
Круговое меню это какое? В форме круга с секциями для нажатия? Отрисовывать своё придётся, думаю. Ничего сложного нет, работы часика на 3-4 для работающих с графикой.


Название: Re: Qt piemenu
Отправлено: Disa от Февраль 06, 2013, 23:14
Ну в общем-то да, просто думал мб есть из коробки :)


Название: Re: Qt piemenu
Отправлено: Bepec от Февраль 07, 2013, 01:31
Нет, нету.
Хотя в новом Qt я не шарю. У нас устоявшаяся 4.7.2.

PS там ничего сложного, отрисовка правда заставляет подумать меня, но это изза моей нелюбви к графике ;)


Название: Re: Qt piemenu
Отправлено: Disa от Февраль 07, 2013, 16:12
Так, чет я с этим подвис немного во второй половине дня.
Пока сделал в лоб - кучу кнопок по кругу с переходом к другой куче кнопок. Я помню, что глазами пробегал у Шлее про MVC, но сам так ничего из этого не делал.
Как-то можно переопределить (или что-то сделать еще) с View для QMenu, чтобы item'ы отрисовывались как мне хочется?


Название: Re: Qt piemenu
Отправлено: Bepec от Февраль 07, 2013, 17:11
Кхм. Что-то сделать, чтобы они отображались как ты хочешь.

Что ж ты меня спрашиваешь? Я ж незнаю как ты хочешь, незнаю как у тебя получилось и что у тебя не получается :)


Название: Re: Qt piemenu
Отправлено: Disa от Февраль 07, 2013, 23:54
А да, я чет маху дал :)

Так, сейчас есть - вектор Qbutton'ов. На вход конструктор виджета принимает количество с именем, он их рисует по кругу от курсора при нажатии на правую кнопку мыши (ну в общем как обычное контекстменю, только рисуется по другим евентам).  
Мне хочется класс "piemenu" (кнопки по кругу с равным шагом). В идеале хотелось, чтоб было как в обычным QMenu, т.е. просто добавлять экшены и такие же submenu, а класс уже сам это делал. Чего я не знаю - как мне так написать класс и унаследовать его от QMenu, чтоб item'ы рисовались как нужно (я уже сказал как). То решение которое сейчас, оно явно временное, т.к. это меню может сильно меняться и хотелось бы не переписывать по 10 раз вектора с кнопками.


Название: Re: Qt piemenu
Отправлено: carrygun от Февраль 08, 2013, 05:41
Скорее всего наследоваться придется от QWidget и QObject и рисовать, рисовать и еще раз рисовать.


Название: Re: Qt piemenu
Отправлено: lit-uriy от Февраль 08, 2013, 07:14
Добрый вечер.
Вопрос - как организовать круговое меню? Нашел туториал по qtpiemenu, но он видимо древний, т.к. у меня на 5.0.0 и 4.8.2 нет нужного хидера.
Как правильнее делать - как-то модифицировать contextmenu через stylesheets?
Qt piemenu никогда не входил в состав Qt
Это был ад-он от тролей, его надо на гиториусе искать


Название: Re: Qt piemenu
Отправлено: lit-uriy от Февраль 08, 2013, 07:19
Ага, это из ежеквартальника Qt:
http://doc.qt.digia.com/qq/qq11-piemenu.html


Название: Re: Qt piemenu
Отправлено: Disa от Февраль 08, 2013, 11:09
Спасибо! то что нужно прямо :)