[Geloest] QToolBar->addAction fuer bestehende Actions

Alles rund um die Programmierung mit Qt
Antworten
komaton
Beiträge: 11
Registriert: 2. September 2008 13:32

[Geloest] QToolBar->addAction fuer bestehende Actions

Beitrag von komaton »

Hallo,

ich hab mal wieder ein Problem mit der QToolBar.

Mein Programm soll die moeglichkeit besitzen bei Bedarf ToolBars zuschalten zu koennen oder halt wieder zu entfernen.
Das klappt auch prima, nur hab ich das Problem das meine Aktionen in den Toolbars die selben sein sollen wie in den Menus.
Laut Qt Doku soll man nach moeglichkeit Actions nicht doppelt definieren, was ich fuer sinnvoll halte.
Das problem ist dabei das ich nicht genau weiss wie ich meiner ToolBar fnkt die vorher erstellten Actions uebergeben soll.

Zur verdeutlichung,
die Aktionen werden bei mir alle nach folgendem Schema erstellt und in die Menus eingefuegt,

Code: Alles auswählen


 	aboutQtAction = new QAction(tr("&About Qt"),parentObjectPointer);
	aboutQtAction->setIcon(QIcon(":/images/filesaveAs.xpm"));
	aboutQtAction->setWhatsThis(tr("Shows information about Qt4"));
	connect(aboutQtAction, SIGNAL(triggered()), parentObjectPointer, SLOT(aboutQT()));
	createMenus(helpMenu, aboutQtAction, 0, "" ,"Help");

des weiteren hab ich funktionen der Art

Code: Alles auswählen


void menu::createhelpToolBar( void )
{
	helpToolBar = new QToolBar(parentWidgetPointer);

	helpToolBar->addAction("&Whats this?");
	helpToolBar->addAction("&About GeMo");
	helpToolBar->addAction("&About Qt");
}

in meiner Menuklasse , die von aussen angesprochen werden koennen.
So wie es bis jetzt ist werden nur buddy icons mit Text erzeugt ohne jegliche Verknuepfung zu den eigentlichen Funktionen.

Bei der erweiterte addAction() funktion der QToolBar Klasse weiss ich nicht genau wie ich sie verwenden soll, da ich nicht weiss was mit const char* member gemeit ist.

Code: Alles auswählen

QAction * QToolBar::addAction ( const QString & text, const QObject * receiver, const char * member )
Sprich, das eigentliche Problem besteht in der verlinkung der Buttons in der ToolBar mit den vorher definierten Actions.

Waere grossartig wenn jemand ne Idee dazu haette.

MfG komaton

P.S.: Der komplette Code ist bestandteil einer Klasse und die Actions etc. damit weithin bekannt.
Zuletzt geändert von komaton am 6. Oktober 2008 09:38, insgesamt 1-mal geändert.
Ginsengelf
Beiträge: 79
Registriert: 2. Mai 2007 10:21

Re: QToolBar mit vorher fuer QMenu definierten QActions fuel

Beitrag von Ginsengelf »

Moin, viel Text, ich greif' jetzt einfach mal das raus, wozu ich was zu sagen habe:
komaton hat geschrieben: Bei der erweiterte addAction() funktion der QToolBar Klasse weiss ich nicht genau wie ich sie verwenden soll, da ich nicht weiss was mit const char* member gemeit ist.

Code: Alles auswählen

QAction * QToolBar::addAction ( const QString & text, const QObject * receiver, const char * member )
Im Prinzip verwendest du die Methode ähnlich wie connect(), z.B.:

Code: Alles auswählen

QAction* action = toolBar->addAction ("Wurst", this, SLOT (sl_meinSlot ());
Das verbindet dann das triggered()-Signal mit dem Slot sl_meinSlot.

Ginsengelf
komaton
Beiträge: 11
Registriert: 2. September 2008 13:32

[Geloest] QTooBar->addAction

Beitrag von komaton »

Danke

das war genau was ich wissen wollte.

MfG Komaton
Antworten