Portál AbcLinuxu, 2. června 2024 15:06

Zmena vzhľadu Qt5 bez KDE

17.7.2016 12:34 | Přečteno: 2265× | Linux | Výběrový blog | poslední úprava: 17.7.2016 12:42

Dnešný blog bude o tom ako nahradiť qtconfig z Qt4 používaný na nastavenie štýlu Qt aplikácií.

Qt by malo podľa dokumentácie automaticky použiť štýl prostredia, v ktorom je spustené. Problém môžu mať používatelia jednoduchých prostredí, ktoré sa o štýl nestarajú. V takom prípade Qt použije štandardnú tému s (podľa mňa) hnusnoou žltou farebnou schémou.

Ako funguje detekcia prostredia

Detekcia je v súbore src/platformsupport/services/genericunix/qgenericunixservices.cpp. Ak je nastavená premenná prostredia XDG_CURRENT_DESKTOP vráti priamo hodnotu tejto premennej. Ak teda spustím XDG_CURRENT_DESKTOP=gnome designer spustí sa qt designer s GTK témou. Fallback detekciou sa nemusíme ďalej zaoberať. Osobne nemám moc rád GTK témy, takže nastavujem premennú XDG_CURRENT_DESKTOP na hodnotu "kde".

Voľba Qt témy

Téma sa dá nastaviť pomocou premennej prostredia QT_STYLE_OVERRIDE, alebo použitím prepínača -style pri každom volaní aplikácie. V prípade, že je XDG_CURRENT_DESKTOP nastavený na "kde" je možné zmeniť tému aj pomocou konfiguračného súboru kdeglobals nachádzajúceho sa v $KDEHOME/share/config/kdeglobals - ukážka

[KDE]
widgetStyle=skulpture

Ďalšie nastavenia témy

Pokročilé nastavenia sú dostupné len pomocou súboru kdeglobals.

Nastavenie single click
sekcia [KDE] nastavenie singleClick=true
Téma ikon
sekcia [Icons] nastavenie Theme=oxygen
Štýl toolbarov
sekcia [Toolbar style] nastavenie ToolButtonStyle=TextBesideIcon|TextOnly|TextUnderIcon|NoText
Počet riadkov pri scrollovaní
sekcia [KDE] nastavenie WheelScrollLines=3
Font
sekcia [General] nastavenie font=DejaVu Sans,8,-1,5,50,0,0,0,0,0 alebo fixed=DejaVu Sans Mono,8,-1,5,50,0,0,0,0,0

Farby

Nasledujúce nastavenia farieb číta Qt 5 z kdeglobals:

[Colors:Button]
BackgroundNormal=215,220,220
ForegroundNormal=0,0,0

[Colors:Selection]
BackgroundNormal=145,177,217
ForegroundNormal=0,0,0

[Colors:Tooltip]
BackgroundNormal=255,242,153
ForegroundNormal=64,48,0

[Colors:View]
ForegroundNormal=0,0,0
BackgroundNormal=250,250,255
BackgroundAlternate=240,245,255
ForegroundLink=51,81,126
ForegroundVisited=100,74,155

[Colors:Window]
BackgroundNormal=210,215,215

Na screenshote je vedľa seba Qt designer skompilovaný s Qt4 a Qt5 po konverzií nastavení.

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Zmena vzhľadu Qt5 bez KDE, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

xkucf03 avatar 17.7.2016 15:16 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky za článek. BTW: odkud čerpáš? Nějaké odkazy na dokumentaci by neškodily.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
mirec avatar 17.7.2016 15:26 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE

Vďaka. Dokumentácia neexistuje, pozeral som akurát na zdrojové kódy a snažil som sa pochopiť čo sa deje pri štarte aplikácie.

LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
18.7.2016 09:49 prohnuta nudle
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Zrovna v nedeli sem se tim zabyval :-)

Qtcreator a spousta dalsich qt sw jde nastylovat skze toto:

https://doc.qt.io/qt-4.8/stylesheet.html https://doc.qt.io/qt-4.8/stylesheet-examples.html https://doc.qt.io/qt-4.8/stylesheet-reference.html
18.7.2016 11:44 chrono
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Odpovědět | Sbalit | Link | Blokovat | Admin
Na nastavenie vzhľadu v Qt5 sa dá použiť aj program qt5ct (nahradzuje Qt Configuration Tool, ktorý bol dostupný v Qt4).
18.7.2016 12:42 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE

jj předběhl jsi mě ..

USE="-gnome -kde";turris
mirec avatar 18.7.2016 12:52 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE

Vďaka za info, páči sa mi ako vytvorili vlastný QPlatformTheme, rozhodne sa mi to zdá elegantnejšie riešenie ako tváriť sa, že beží pod KDE ;)

LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
Rezza avatar 19.7.2016 13:01 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Jinak uz existuje i QGnomePlatfrom od Martina Brizy :).
Bedňa avatar 21.7.2016 22:15 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Odpovědět | Sbalit | Link | Blokovat | Admin
Vychytávka je že rovnaké riešenie sa nedá použiť pre QT4 aj QT5, čo pokladám za ďlšiu výhru, čo je dnes tak 50 na 50. Už sa teším na šestku kde to zas bude inak.
KERNEL ULTRAS video channel >>>
Bedňa avatar 21.7.2016 22:19 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Zmena vzhľadu Qt5 bez KDE
Teda ku QT4 treba ešte balíček QT4curve, alebo tak nejak inak to nefunguje.
KERNEL ULTRAS video channel >>>

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.