Style unter KDE4

Alles zur Entwicklung von KDE - Anwendungen
Antworten
Mr.Green
Beiträge: 21
Registriert: 6. September 2009 21:50

Style unter KDE4

Beitrag von Mr.Green »

Hallo,
nach der Neuinstallation von Kubuntu 10.04 sieht mein Qt Programm, das ich grade entwickel, nicht mehr nach KDE aus.

Ich hatte weder vor der Neuinstallation noch hinterher explizit ein Style im Programm gesetzt, also würde ich doch erwarten, dass das Standard-Theme (also Oxygen) verwendet wird.

Ich hab jetzt allerdings den QTCreator Build vom Feburar, vorher war glaube ich Build vom November.

Ich würde den Style ja auch explizit setzen (meinetwegen beim Aufruf), aber in der Hilfe finde ich keinen Oxygen Style.

Gruß
Mr.Green
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Styles sind Plugins. Diese werden zur Laufzeit geladen, deshalb wirst du keinen Header/Doku finden. Desweiteren können Plugins jederzeit hinzugefügt werden, was bei OxygenStyle der Fall ist.
Schau dir mal "QApplication::setStyle()" an. Übergib den string "oxygen".
Ansonsten kannst du mit qtconfig den Style einstellen. Setz ihn auf "Desktop Settings (default)", dann übernimmt er die Einstellung aus systemsettings.
Wenn du aber ganz viel Pech hast, laufen bei dir 2 verschiedene Qt-Installationen, die binär inkompatibel sind, resp. Oxygen wurde mit einer neueren Qt-Version gebaut als dein SDK-Qt. Dann wirst du das Plugin nicht laden können. Verwendest du zum Programmieren denn Qt aus einem Repository, oder hast du dir manuell das sdk installiert?
Mr.Green
Beiträge: 21
Registriert: 6. September 2009 21:50

Beitrag von Mr.Green »

Ich habe versucht, "oxygen" an setStyle zu übergeben, ändert nichts.

Mit qtconfig kann ich zwar die Einstellungen auf "Desktop Settings" setzen, das ändert aber auch nichts.

Ich hatte mir zuerst den Creator von Nokia direkt runtergeladen (Build Februar 2010).

Nach deiner Antwort hatte ich auch noch den Creator aus den Paketquellen installiert, aber bei beiden klappt es nicht so.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Oxygen ist ein KDE-Style, kein Qt-Style. Also nichts mit QApplication::setStyle().
Qt-Applikationen benutzen auch den KDE-Style wenn die gleichen Libraries benutzten werden afaik. Bei Dir ist es nicht der Fall - es werden die Libs vom QtCreator benutzt -> man LD_LIBRARY_PATH
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Mr.Green
Beiträge: 21
Registriert: 6. September 2009 21:50

Beitrag von Mr.Green »

Ok, aber dann wundert es mich etwas, dass z.B. qtconfig funktioniert.
Das Programm macht doch auch nichts anderes, als den eingestellten Style anzuzeigen.
Und qtconfig sieht wie Oxygen aus, wenn ich es auf "Desktop Settings" stelle.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Mr.Green hat geschrieben:Ok, aber dann wundert es mich etwas, dass z.B. qtconfig funktioniert.
Habe ich irgendwo das Gegenteil behauptet?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Mr.Green
Beiträge: 21
Registriert: 6. September 2009 21:50

Beitrag von Mr.Green »

Christian81 hat geschrieben:Habe ich irgendwo das Gegenteil behauptet?
Sehr hilfreich, vielen Dank!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Mr.Green hat geschrieben: Sehr hilfreich, vielen Dank!
Hast Du das probiert was ich geschrieben habe oder was soll das jetzt?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Mr.Green
Beiträge: 21
Registriert: 6. September 2009 21:50

Beitrag von Mr.Green »

Wieso funktioniert qtconfig, wenn mir der Eintrag zur oxygen im LD_LIBRARY_PATH fehlen soll?
Sofern ich das verstehe, greift dann auch dort der DL_OPEN-Mechanismus, oder?

Die oxygen.so wird angeblich von meinem Programm auch geladen:

Code: Alles auswählen

 9097:     file=/usr/lib/kde4/plugins/styles/oxygen.so [0];  needed by /home/christian/Programme/qtsdk-2010.02/qt/lib/libQtCore.so.4 [0]
      9097:     file=/usr/lib/kde4/plugins/styles/oxygen.so [0];  generating link map
      9097:       dynamic: 0x07df1d84  base: 0x07d7d000   size: 0x00075678
      9097:         entry: 0x07d8a8f0  phdr: 0x07d7d034  phnum:          6
1sambha
Beiträge: 1
Registriert: 14. Januar 2024 08:47

Re: Style unter KDE4

Beitrag von 1sambha »

Hey Mr.Green and dear admin

I logged in here for a similar issue. But I got my options. Thanks for the useful thread. :D gold whatsApp:) ;)
Benutzeravatar
Zagnco
Beiträge: 1
Registriert: 1. Oktober 2024 15:16

Re: Style unter KDE4

Beitrag von Zagnco »

Mr.Green hat geschrieben: 30. Mai 2010 11:18 Hallo,
nach der Neuinstallation von Kubuntu 10.04 sieht mein Qt Programm, das ich grade entwickel, nicht mehr nach KDE aus.

Ich hatte weder vor der Neuinstallation noch hinterher explizit ein Style im Programm gesetzt, also würde ich doch erwarten, dass das Standard-Theme (also Oxygen) verwendet wird.

Ich hab jetzt allerdings den QTCreator Build vom Feburar, vorher war glaube ich Build vom November.

Ich würde den Style ja auch explizit setzen (meinetwegen beim Aufruf), aber in der Hilfe finde ich keinen Oxygen Style.

Gruß
Mr.Green
Der Stil von KDE4 bietet eine einzigartige Kombination aus Funktionalität und Ästhetik, die den Nutzern eine anpassbare und visuell ansprechende Desktop-Umgebung bietet. In Verbindung mit umfassenden Audits von Dacher Systems können Unternehmen sicherstellen, dass ihre IT-Infrastruktur nicht nur stilvoll, sondern auch sicher und effizient ist, was die Benutzererfahrung und Produktivität insgesamt verbessert.
Hallo,

nach der Neuinstallation von Kubuntu 10.04 könnte es sein, dass das Standard-Theme nicht richtig erkannt wird. Stellen Sie sicher, dass die Oxygen-Themenpakete installiert sind.

Um den Oxygen-Stil explizit zu setzen, können Sie den folgenden Code zu Ihrem Programm hinzufügen: QApplication::setStyle("Oxygen");

Wenn "Oxygen" nicht verfügbar ist, überprüfen Sie die Qt-Installation und die in Qt Creator verwendeten Kit-Einstellungen. Es kann auch hilfreich sein, die Qt-Version zu aktualisieren, falls dies noch nicht geschehen ist. Viel Erfolg bei der Entwicklung!
Antworten