Seite 1 von 1

Style unter KDE4

Verfasst: 30. Mai 2010 11:18
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

Verfasst: 30. Mai 2010 13:08
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?

Verfasst: 30. Mai 2010 14:17
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.

Verfasst: 30. Mai 2010 14:58
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

Verfasst: 30. Mai 2010 15:29
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.

Verfasst: 30. Mai 2010 17:37
von Christian81
Mr.Green hat geschrieben:Ok, aber dann wundert es mich etwas, dass z.B. qtconfig funktioniert.
Habe ich irgendwo das Gegenteil behauptet?

Verfasst: 30. Mai 2010 17:46
von Mr.Green
Christian81 hat geschrieben:Habe ich irgendwo das Gegenteil behauptet?
Sehr hilfreich, vielen Dank!

Verfasst: 30. Mai 2010 20:18
von Christian81
Mr.Green hat geschrieben: Sehr hilfreich, vielen Dank!
Hast Du das probiert was ich geschrieben habe oder was soll das jetzt?

Verfasst: 31. Mai 2010 17:45
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

Re: Style unter KDE4

Verfasst: 14. Januar 2024 08:57
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:) ;)