Seite 1 von 1
ToolBar mit Untermenüs
Verfasst: 23. Mai 2007 10:51
von nexus
Hallo,
wie kann man eigendlich ToolBar Buttons mit Untermenüs belegen? Währe für Hilfe dankbar

Verfasst: 23. Mai 2007 12:25
von upsala
oder ungetestet:
Code: Alles auswählen
QToolBar::addAction(QAction *)
QAction *QMenu::menuAction () const
Verfasst: 23. Mai 2007 21:10
von nexus
Mal wieder danke für deine Anwort

Habs jetzt nach deinem zweiten Vorschlag realisiert, jedoch hab ich noch eine Frage dazu. Wenn ich in dem Auswahlmenü auf eine Action klicke wird diese ausgeführt. Ist es jetzt auch möglich eine Action auszuführen in dem man auf das Icon von dem erstellten Menü klickt?
Hoffe ich habs verständlich rübergebracht

Verfasst: 23. Mai 2007 21:30
von upsala
Schon mal versucht die menuAction mit einem eigenen Slot zu verbinden?
Verfasst: 23. Mai 2007 21:37
von nexus
Kannst du das etwas genauer erklären?
Verfasst: 23. Mai 2007 22:07
von upsala
Code: Alles auswählen
QMenu *menu=new QMenu();
toolBar->addAction(menu->menuAction());
connect(menu->menuAction(), SIGNAL(triggered()), ...);
Verfasst: 23. Mai 2007 22:46
von nexus
Ja danke, funktioniert

Verfasst: 24. Januar 2008 03:23
von defenderLQ
habe selber grad damit ein problem wollte via ToolBar button
eine Menu anzeigen lassen, geht grad nicht bei mir.
Mit QPushButton gehts bei mir ohne probleme.
wenn man es so macht:
Code: Alles auswählen
QMenu * menu = new QMenu();
menu->addAction(QIcon(), tr("Online"));
menu->addAction("Busy");
menu->addAction("Away");
menuButton->setMenu(menu);
Function zum aufrufen des setMenu vom ToolBar Button Tools:
Code: Alles auswählen
addAction(new QAction(QIcon(IMAGE_TOOLS), tr("Tools"), ui.toolBar), SLOT(setMenu2()));
Code: Alles auswählen
void MainWindow::setMenu ( )
{
QMenu menu( this );
actionHandbook = new QAction(QIcon(), tr( "HandBook" ), this );
connect( actionHandbook , SIGNAL( triggered() ), this, SLOT( on_action_Handbook_activated() ) );
menu.addAction( actionHandbook);
menu.addSeparator();
}
void MainWindow::setMenu2 ( )
{
QMenu *menu = new QMenu();
menu->addAction(ui.action_Handbook);
ui.action_Handbook->setIcon(QIcon(":/address-book-new.png"));
connect( ui.action_Handbook , SIGNAL( triggered() ), this, SLOT( on_action_Handbook_activated() ) );
}
also die 2 verschiedenen QMenu methoden haben bei mir nichts gebracht,
aber das eine obere beispiel von upsala geht bei mir auch.
Weis jemand mehr über QMenu? wie ich das problem lösen kann?