Forum: PC-Programmierung wxWidgets "call screens" (ähnlich wie QT-stackedWidget)


von Daniel Larousso (Gast)


Lesenswert?

Hallo zäme,

jo, ich hab von wxWidgets noch keine Ahnung und parallel schaue ich, ob 
ich meine Frage selbst beantworten kann - habe mein Anliegen noch nicht 
auf die Doku  abbilden können.

Ich suche ein wxWidget Konstrukt, mit dem durch Aufruf im Sinne eines
>Dispatch_ShowCall(myClassType_1* caller)
>Dispatch_ShowCall(myClassType_2* caller)
UIs für verschiedene caller im selben Bildschirmbereich exklusiv 
dargestellt/aufgerufen werden.

In wxWidgets scheint es auch ein Konzept von Show() und Hide() zu geben. 
Wobei ich noch nicht weiß, ob es funktional das gleiche ist wie in Qt.
Ich könnte versuchen, eine Verwaltung zu bauen, welche das letzte 
"ge-show´te" UI versteckt und das UI des callers show´et (entschuldigt 
das Denglish)
> Die Frage ist, ob es eine wxWidget Klasse gibt, welche das nativ lösen kann

In Qt habe ich das mit einem StackedWidget gelöst.

vielen Dank schon ma

von Norbert (Gast)


Lesenswert?

Daniel Larousso schrieb:
> Ich könnte versuchen, eine Verwaltung zu bauen, welche das letzte
> "ge-show´te" UI versteckt und das UI des callers show´et (entschuldigt
> das Denglish)

Nee, beim besten Willen, das ist nicht mehr zu entschuldigen. Das 
verursacht Augenkrebs. Wir haben bereits vor geraumer Zeit eine recht 
gut funktionierende Sprache entwickelt.

Zu den wxWidgets (und falls ich das richtig verstanden habe): Da die UI 
dynamisch aufgebaut wird, löse ich das dahingehend, das ein Widget 
entfernt und durch ein neues Widget ersetzt wird. Braucht einen 
Funktionsaufruf um das Layout neu zu formatieren wenn die Größen nicht 
übereinstimmen.

von Daniel Larousso (Gast)


Lesenswert?

Ok, was bedeutet das technisch
>das ein Widget entfernt und durch ein neues Widget ersetzt wird.
Geht es da um eine wx-eigene Methode oder meinst du manuell das 
Child-widget deleten und durch ein neues ersetzten?
Bzw. funktioniert der Ansatz so, bei jedem Wechsel ein delete / new ?

von Norbert (Gast)


Lesenswert?

Ich mach's mit wxPython (aber das ist ja von der Funktionalität nahezu 
identisch)
Einem Sizer kann man mit der .Add Methode ein Widget hinzufügen.
Da gibt's auch eine passende .Remove Methode.
Die Widgets selbst müssen nicht zerstört werden, wenn man sich einfach 
die Referenzen aufhebt. (Der Umwelt zuliebe)

von Daniel Larousso (Gast)


Lesenswert?

Ok danke,

witzig ich bin auch gerade an einem Tutorial über Sizer vorbeigekommen 
und da ist mir auch die ->Add() Methode aufgefallen und war schon auf 
dem Weg zu schauen, ob es ein Remove gibt.

Wenn es schon jemand anderes so macht, ist wohl nicht total abwegig.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.