PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDE style in QT-Apps



doitux
25-01-2004, 18:31
Hallo Leute

Ich hab folgendes Problem. Ich hab mir ein kleines Programm in QT gebastelt. Da ich KDE auf GNU/Linux benutze wäre es natürlich wünschenswert, wenn dieses Programm unter KDE ausgeführt auch das aktuelle KDE-Theme bzw. den KDE-style zur Darstellung benutzen würden.
Momentan tut es das aber nicht. Habt Ihr eine Idee was ich da machen muss?

Ich benutze in dem Programm ausschliesslich qt-header-files.
Mein System:
KDE 3.1.4 (SuSE 9.0)

Viele Grüße
doitux

anda_skoa
25-01-2004, 20:35
Hmm, das sollte ansich automatisch passieren.

Ist bei meine Qt Apps immer so gewesen.

Schau mal mit qtconfig nach, ob vielleicht ein spezieller Stil gesetzt ist und ob der KDE Plugin Path unter Library Paths eingetragen ist.

Ciao,
_

doitux
25-01-2004, 22:07
erstmal danke für deine antwort.
also:

bei qtconfig ist der stil ThinKeramik gesetzt. Das ist der selbe den ich auch im Kontrollzentrum unter KDE eingestellt habe. also der wurde übernommen.

unter library-path habe ich:

/opt/kde3/lib/kde3/plugins
/opt/kde3/lib64/kde3/plugins
home/felix/.kde/lib/kde3/plugins
/usr/lib/qt3//plugins

macht das was dass da "//" steht und nicht nur "/" ?

Muss ich im Quellcode eigentlich irgendetwas bezüglich des styles angeben? z.b. einen pfad? ich hab da nämlich gar nichts zu angegeben.
ich hab auch mal versucht mit qtconfig einen anderen style zu setzten und hab das proggi dann nochmal mit qmaker und make übersetzt. aber es arbeitet immer noch mit dem selben motif-style (oder einem ähnlichen - genau kann ich das nicht feststellen denn das proggi besteht nur aus 4 einfachen buttons)

vielleicht noch eine andere fehlerquelle: ich hab aber schon vor einiger zeit mal ein kde-update von suse eingespielt. kann es dabei zu kompatibilitätsproblemen zw. qt und kde kommen?

vielleicht hast du ja noch einen tip für mich.
viele grüße
doitux

axeljaeger
26-01-2004, 08:30
du kannst ja mal mit der -style Option von deinem Programm spielen, also etwa mal so starten:
myapp -style windows
Guck mal, ob sich da was tut. Wenn du schonmal ein Update eingespielt hast, kann ich mir vorstellen, das du vielleicht zwei Qt-Librarys installiert hast. Die eine, die KDE verwendet, und die andere, mit der du entwickelst.

anda_skoa
26-01-2004, 09:15
Original geschrieben von axeljaeger
Guck mal, ob sich da was tut. Wenn du schonmal ein Update eingespielt hast, kann ich mir vorstellen, das du vielleicht zwei Qt-Librarys installiert hast. Die eine, die KDE verwendet, und die andere, mit der du entwickelst.

Das wäre eine Möglichkeit.
Denn wenn der Style in der Applikation nicht explizit gesetzt wird, wird schon der aus qtconfig genommen und die Pfade sollten passen.

Sind andere Qt Programmen, zB designer oder assistant im richtigen Style?

Ciao,
_

doitux
26-01-2004, 10:28
qtassistant und qtdesigner sind alle im thinkeramik-style. das ist ja das merkwürdige ...

doitux
26-01-2004, 10:34
wenn ich z.b. "myapp -style SGI" angebe dann startet das prog im SGI style. CDE wird auch richtig dargestellt.

aber "myapp -style ThinKeramik" macht wieder den standard-motif-style. Ebenso läuft das bei "keramik" und "liquid".

kann es denn sein das einige styles nur kde zu verfügung stehen und nicht qt? wenn ja muss ich die vielleicht nur irgendwo in ein qt-verzeichnis reinkopieren oder linken?

anda_skoa
26-01-2004, 12:20
Kontrolliere die Version der Qt von KDE und die der Qt apps.

Wenn es beim Designer klappt, hat der auch die Version der KDE styles und deine App vielleicht nicht.

Ciao,
_

doitux
26-01-2004, 12:25
also ich hab nur eine qt version als rpm installiert. das ist die 3.2.3!!!
und ich benutze KDE 3.1.4!
Läuft denn KDE 3.1.4 auf QT 3.1?
Wie kann ich denn QT 3.2.3 dazu bringen auch die styles von kde zu verwenden?

axeljaeger
26-01-2004, 13:41
OK, du hast nur eine Qt als RPM installiert. Du hast dir aber nicht zufällig eine andere nebenher installiert? Mach mal folgendes: Nimm ein Qt-Only Programm, wo das korrekte Style angezeigt wird, Opera oder was weis ich. Gehe in eine Konsole und schreib folgendes:

ldd <pdfadzuopera>

Dann sagt dir das System, welche libqt der Opera verwendet. Das gleiche jetzt mit deinem selbstkompilierten Programm. Wenn da verschiedene libqt's verwendet werden, hätten wir den Fehler gefunden.

doitux
26-01-2004, 14:04
Also die programme welche die styles richtig anzeigen benutzen die lib
"libqt-mt.so.3" von der Version 3.2.3! (z.B. qtconfig und designer)

Die selbstgeschriebenen Programme laufen mit der libqt.so.3 von der Version 3.2.3!

was ist denn diese mt-lib?

anda_skoa
26-01-2004, 14:39
MultiThreaded.
Qt mit Thread Unterstützung.
Seit Qt3 die Standardform.

Wenn du qmake benutzt, reicht ein
CONFIG += thread
in einem .pro File.

Ciao,
_

doitux
26-01-2004, 14:54
hey klasse. genau das wars.
herzlichsten dank nochmal ;-)

viele grüße
doitux