Seite 1 von 1

Vorteil von Property's

Verfasst: 30. Januar 2015 07:39
von bierber
Hallo,

ich will hier keine Disskusion anwerfen, aber ich versteh nicht ganz was der Vorteil von Q_Properties sein soll.

Ich spare mir dadurch aus meiner Sicht nichts und hab dafür auch keinen für mich erkennbaren mehr Wert. Zumindest wenn ich das ganze nur zum setzen und lesen einer Variable benutze:

Ob ich es jetzt so:

Code: Alles auswählen

 int intWert;

void setIntWert(int value);

int getIntWert();
Anlege oder mit der Property:

Code: Alles auswählen

Q_Property(int intWert READ getIntWert WRITE setIntWert)

void setIntWert(int value);

int getIntWert();
Natürlich can man Mehrwert erhalten wenn mann die Notify Methoden nutzt oder Reset oder ähnliches, aber selbst in der Doku steht, das zu90% nur Read und Write benutzt wird.

Gibt es da doch etwas was ich übersehe?

Oder werden die Properties doch nicht so häufig verwendet?

Gruß

und Danke mal Felix

Re: Vorteil von Property's

Verfasst: 30. Januar 2015 16:20
von Christian81
Q_Properties sind z.B. sehr nützlich für Introspection (siehe QMetaObject - Doku) und demnach auch wichtig für das QML-Binding. Auch im Qt-Designer wird ein Q_Property direkt angezeigt wenn man es in einem Custom-Widget definiert.

Re: Vorteil von Property's

Verfasst: 30. Januar 2015 16:55
von Uwe
Properties sind für Situationen in denen man generisch arbeiten will/muss also z.B. wie der designer der die Getter/Setter Methoden eine Widgets in der Regel gar nicht kennt.
Oder z.B. kannst Du in einer Scheife über alle Widgets laufen und die aktuellen Einstellungen speichern und anschliessend wieder herstellen.

Im normalen Anwendungsfall macht es dagegen wenig Sinn über die Property Schnittstelle zu gehen.

Uwe

Re: Vorteil von Property's

Verfasst: 30. Januar 2015 17:05
von bierber
Ok wenn ich das mal zusammenfasse, ist es so wie ich dachte, Für Widgets und im designer ganz nützlich aber nur zum Variablen deklarieren wie man es hin und wieder bei C# gerne macht ist es nicht gedacht.