[Geloest] Toolbar Icons (QAction) dynamisch zuweisen?

Alles rund um die Programmierung mit Qt
Antworten
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

[Geloest] Toolbar Icons (QAction) dynamisch zuweisen?

Beitrag 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.
Zuletzt geändert von gboelter am 23. September 2008 08:48, insgesamt 1-mal geändert.
Guenther
Davao City, Philippines, Planet Earth, 28°C

Qt 4.8.1 for Linux/X11 - Open Source Edition for Application Development
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

Beitrag 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.
Guenther
Davao City, Philippines, Planet Earth, 28°C

Qt 4.8.1 for Linux/X11 - Open Source Edition for Application Development
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

Beitrag 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.
Guenther
Davao City, Philippines, Planet Earth, 28°C

Qt 4.8.1 for Linux/X11 - Open Source Edition for Application Development
Antworten