QApplication::setStyle(0) ?

Alles rund um die Programmierung mit Qt
Antworten
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

QApplication::setStyle(0) ?

Beitrag von Marco812 »

Hallo,

warum wird mit QApplication::setStyle(0); nicht der zuvor gesetzte Style entfernt?

Gruß,

Marco812
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Weil der vorherige Style beim setzen des neuen Styles gelöscht wurde. Steht doch in der Doku.
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

Ja das ist klar, dann habe ich mich falsch ausgedrückt. Ich möchte den aktuellen Style entfernen, sodass kein Style mehr gesetzt ist (Standardeinstellungen). Wie funktioniert das?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es gibt keinen 'nicht gesetzten Style'.
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

OK, irgend ein Style ist immer gesetzt. Ich möchte aber wenn ich mit:

Code: Alles auswählen

QApplication::setStyle(QStyleFactory::create(styleName));
einen Style setze, wieder die Möglichkeit haben den Standard-Style zu setzen. Dazu sagt mir die Dokumentation:
If no style is specified, Qt will choose the most appropriate style for the user's platform or desktop environment.
Also müsste mir mit:

Code: Alles auswählen

QApplication::setStyle(0);
wieder der Standard-Style angezeigt werden. Genau das passiert aber bei mir nicht, der Style bleibt bei mir z.B. immer noch auf "Plastique style".

Ist jetzt klar, was ich meine und hat jemand eine Erklärung dafür?
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

OK, irgend ein Style ist immer gesetzt. Ich möchte aber wenn ich mit:

Code: Alles auswählen

QApplication::setStyle(QStyleFactory::create(styleName));
einen Style setze, wieder die Möglichkeit haben den Standard-Style zu setzen. Dazu sagt mir die Dokumentation:
If no style is specified, Qt will choose the most appropriate style for the user's platform or desktop environment.
Also müsste mir mit:

Code: Alles auswählen

QApplication::setStyle(0);
wieder der Standard-Style angezeigt werden. Genau das passiert aber bei mir nicht, der Style bleibt bei mir z.B. immer noch auf "Plastique style".

Ist jetzt klar, was ich meine und hat jemand eine Erklärung dafür?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das Zitat ist aber in einem ganz anderem Kontext zu finden, als die Funktion die du ansprichst...
Marco812
Beiträge: 139
Registriert: 22. November 2005 11:28

Beitrag von Marco812 »

So habe ich es zumindest verstanden. Wenn es nicht so ist und du verstanden hast was ich machen möchte, wärst du so nett und sagst mir wie ich das Problem lösen kann?
Tobi
Beiträge: 28
Registriert: 22. April 2007 12:17
Wohnort: Nürnberg
Kontaktdaten:

Beitrag von Tobi »

Also bring mir Qt zwar gerade erst bei und der Thread ist auch schon alt, aber warum rufst du nicht einfach QStyle * QApplication::style () auf und speicherst den "alten" Style?

Somit könntest du immer wieder zurück wechseln...
Antworten