Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Diablus от Август 31, 2012, 11:50



Название: Меню на подобие exel'евского
Отправлено: Diablus от Август 31, 2012, 11:50
Собственно каким образом грамотно реализовывать такое меню?
Устанавливать собственный виджет (setMenuWidget), перегруженный к примеру QTabWidget и уже в нем перегружать функции рисования?
Или же устанавливать QAction'ы в обычном QMenuBar, тогда каким образом пространственно 'прикрепить' виджеты к менюшке?

Буду благодарен чужому опыту.


Название: Re: Меню на подобие exel'евского
Отправлено: mutineer от Август 31, 2012, 11:52
В Excel много разных меню, ты о каком говоришь?


Название: Re: Меню на подобие exel'евского
Отправлено: Serr500 от Август 31, 2012, 12:04
Ribbon, скорее всего.


Название: Re: Меню на подобие exel'евского
Отправлено: mutineer от Август 31, 2012, 12:08
Ну если имеется в виду Ribbon, то http://www.prog.org.ru/index.php?PHPSESSID=2094f2f9d1a8bf8ca8df06f7a54662c0&topic=16004.0


Название: Re: Меню на подобие exel'евского
Отправлено: Diablus от Август 31, 2012, 13:04
спасибо, буду разбираться


Название: Re: Меню на подобие exel'евского
Отправлено: Dr.Vlad от Сентябрь 04, 2012, 18:49
"Или же устанавливать QAction'ы в обычном QMenuBar, тогда каким образом пространственно 'прикрепить' виджеты к менюшке?"

Коннектить нужно через сигнал-слот.
QAction* action = new QAction("bla-bla", this)

connect(action, SIGNAL(выберите сами), this, SLOT(пропишите void функцию))


Название: Re: Меню на подобие exel'евского
Отправлено: GreatSnake от Сентябрь 04, 2012, 21:17
2 Dr.Vlad:
Через обычный QAction виджет на меню не поместить. Для этого нужно использовать QWidgetAction.


Название: Re: Меню на подобие exel'евского
Отправлено: Dr.Vlad от Сентябрь 04, 2012, 22:31
2 Dr.Vlad:
Через обычный QAction виджет на меню не поместить. Для этого нужно использовать QWidgetAction.

Пардон,
QMenuBar *menuBar = new QMenuBar(this);
QMenu *menu = new QMenu("nameMenu", menuBar);
menu->addAction(action);
menuBar->addMenu(menu);


Есть варианты, разумеется. Непосредственно визуализировать виджеты через панель несколько некрасиво.