Seite 1 von 1

qstring frage

Verfasst: 24. Januar 2011 10:52
von AndiLatte
Hallo Zusammen,

ich hab die Frage, ob man einen qString direkt zu Programmcode wandeln kann.
Habe mir vorstellt über eine ComboBox verschiedene Auswahlmöglichkeiten zu haben. Die jeweilige Auswahl übernehme ich als qstring, der genauso wie eine memberfunktion heisst und dann übergeben/ausgeführt wird.

wie kann ich also den qstring direkt als code nutzen? geht das überhaupt in c++.
habe die idee somit eine case oder if/else Auswahl zu umgehen.

danke für ne antwort.

Verfasst: 24. Januar 2011 11:21
von Christian81
Da Qt keine interpretierende Sprache ist geht das nicht.

Verfasst: 24. Januar 2011 12:28
von solarix
Die aufzurufenden Methoden könnten in einem QObject als "Slots" deklariert werden und mit http://doc.qt.nokia.com/qmetaobject.html#invokeMethod "als String" aufgerufen werden..

Bei einer Combobox fände ich das jedoch nicht so schön, weil dadurch eine Internationalisierung verunmöglicht wird. Allenfalls würde ich da noch zwischen "angezeigtem String" (DisplayRole) und "Functioncall" (UserRole) unterscheiden.


hth..

Verfasst: 24. Januar 2011 12:34
von RavenIV
Du könntest mit Funktionspointern arbeiten, falls Du diese zur Laufzeit bekommst.
Diese kannst Du in eine map stecken mitsamt der Beschreibung der Funktion.
In der Combobox zeigst Du die Beschreibung an und aus der map holst Du den Funktionspointer über den Du die Funktion aufrufst.

Musst Du halt mal versuchen, ob das funktioniert...

Verfasst: 24. Januar 2011 15:51
von upsala
Und außerdem gäbe es noch QtScript.