Seite 1 von 1

Style und Desktopumgebung

Verfasst: 14. Mai 2007 14:46
von zygentoma
Moin!

Ich hab mir mal Skype angeguckt, dass ja laut Trolltech auch mit QT gemacht wurde. Dabei ist mir aufgefallen, dass sich Skype vom Style her immer nach dem aktuellen KDE Style richtet, während meine QT Anwendungen immer nur auf die QT Styles zugreifen können.

Fragen:
Ist auch das UI von Skype mit QT gemacht worden?
Kann man mit QT den Style der Desktopumgebung nutzten?

Ich würde es halt gerne so haben, dass meine QT-Anwendungen sich in den Desktop (zumindest in den KDE) integrieren, was offenbar ja möglich ist (->Skype).
Wie mache ich sowas?

mfg
Zygentoma

PS: Ich hoffe ich konnte mich einigermaßen ausdrücken, wenn nicht - bitte einfach noch mal fragen!

Verfasst: 6. September 2007 18:58
von GoaSkin
Eigentlich sollten sich auch die QT-Anwendungen dem KDE-Style anpassen. Ich habe immer die Erfahrung gemacht, daß sich auch z.B. Opera und Scribus zumindest dem Mosfet Liquid- oder Keramik-Stil angepasst haben. Was allerdings nicht funktionierte, war ein Platzieren der Menüs am oberen Bildschirmrand wie bei OSX. Das machten nur echte KDE-Anwendungen.

Verfasst: 6. September 2007 19:14
von Christian81
Da KDE auf Qt basiert (und nicht auf QT) geht es nicht. Du musst dann wohl eine KApplication anstatt einer QApplication benutzen damit es eine 'echte' KDE-Anwendung ist.

Verfasst: 7. September 2007 09:09
von Sephral
Ich verwende in meinen Anwendungen setStyle.

Code: Alles auswählen

void QApplication::setStyle ( QStyle * style )   [static] 

Sets the application's GUI style to style. Ownership of the style object is transferred to QApplication, so QApplication will delete the style object on application exit or when a new style is set. 
Example usage: 

 QApplication::setStyle(new QWindowsStyle); 

When switching application styles, the color palette is set back to the initial colors or the system defaults. This is necessary since certain styles have to adapt the color palette to be fully style-guide compliant. 
Note that setting the style before a palette has been set (i.e. before creating QApplication) will cause the application to use QStyle::standardPalette() for the palette. 

See also style(), QStyle, setPalette(), and desktopSettingsAware().