Seite 1 von 1

[Geloest] Toolbar Icons (QAction) dynamisch zuweisen?

Verfasst: 22. September 2008 15:53
von gboelter
Ich habe ein Mainwindow mit diversen Icons und eine via Designer erstellte GUI mit diversen stackedWidgets.

Bei den Icons gibt es nun zum Beispiel ein Icon fuer "Suchen" und bei den stackedWidgets gibt es eines fuer "Kunden" und eines fuer "Lieferanten". Ausserdem natuerlich jeweils eine class Kunden und Lieferanten mit u. a. den Funktionen sucheKunde() und sucheLieferant(). Wie gesagt, das ist jetzt nur so ein Beispiel.

Worum es mir geht ist Folgendes:

Ich moechte erreichen, dass mein Icon je nach aktuellem stackedWidget mal sucheKunde() und mal sucheLieferant() aufruft.

Wie mache ich das aber am sinnvollsten? Connect() und disconnet() wuerde gehen, birgt aber die Gefahr, dass so eine connect'ion ploetzlich doppelt im Raume steht.

Verschiedene Toolbars waere eine Moeglichkeit, aber die liessen sich vom Anwender via rechte Maustaste aktivieren, was irgendwie auch nicht wirklich elegant waere.

Natuerlich haette ich da noch ein paar mehr Ideen, aber die waeren mit viel Schreiberei verbunden und ich habe den Verdacht, dass so etwas unter QT4 auch ganz einfach zu loesen ist.

Also wie gesagt, ich suche nur nach dem "best practice", umsetzen tue ich das dann schon.

Danke im voraus.

Verfasst: 23. September 2008 07:07
von macman
Warum lässt Du dein Icon nicht beides aufrufen und überlässt es dem StackedWidget was ausgeführt wird. Bzw. den Funktionen, denn die wissen ja, ob deren Oberfläche gerade sichtbar ist oder nicht.

Verfasst: 23. September 2008 07:18
von gboelter
macman hat geschrieben:Warum lässt Du dein Icon nicht beides aufrufen und überlässt es dem StackedWidget was ausgeführt wird. Bzw. den Funktionen, denn die wissen ja, ob deren Oberfläche gerade sichtbar ist oder nicht.
Du meinst etwas in der Art von

Code: Alles auswählen

if (currentWidget)
{
   // dann tu jetzt mal was ...
}
else
{
   // sorry, falscher alarm, kannst weiter schlafen..
}
Ja, das hat was. Auf die Idee bin ich allerdings bisher noch nicht gekommen, ist aber ein interessanter Gedanke.

Werde mir das gleich mal naeher anschauen, Danke fuer die Idee.

Verfasst: 23. September 2008 08:48
von gboelter
macman hat geschrieben:Warum lässt Du dein Icon nicht beides aufrufen und überlässt es dem StackedWidget was ausgeführt wird.
Danke nochmals, hab's eingebaut und es funktioniert bestens.