Portál AbcLinuxu, 30. dubna 2025 09:19

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

Vložit další komentář
vain avatar 2.9.2010 07:37 vain | skóre: 16
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Odpovědět | Sbalit | Link | Blokovat | Admin
No to je na zblití =)
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
2.9.2010 08:24 sivlk | skóre: 15 | blog: sivlk
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
+1
mirec avatar 2.9.2010 09:57 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Odpovědět | Sbalit | Link | Blokovat | Admin
Páni to vyzerá hnusne ;) Pritom qss je celkom použiteľná vec, stačí tom trochu citu ... a hneď to vyzerá krajšie. Nemal by som zverejňovať screenshoty, ale snáď ma za jeden nikto nezabije - qss tak trochu menej hnusné. Štandardne to beží na fullscreene preto taký divný toolbar kombinovaný s titulkom okna. Všetky prvky sú ručne naštýlované, cieľom bolo vytvoriť niečo elegantné ako plastique a dobre ovládateľné cez dotykový display.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
David Watzke avatar 2.9.2010 11:18 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Hezké :-) Aspoň lidí uvidí jak pěkně to může vypadat :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
mirec avatar 2.9.2010 15:11 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Dík. Ešte jedna vec mi nedá spávať (no dobré kecám, ale to nie je podstatné) ... čakal som od tohto článku niečo iné. Upozornenie, že Qt 4 má takúto vlastnosť a všetko je v dokumentácii je fajn, ale niečo motivačné s peknými obrázkami (s dôrazom na pekné) by sa k článku možno hodilo, takže pre tých, ktorí sa neboja anglického textu (no tak toho textu tam je hooodne :D) - Qt Stylesheets Button Bar Tutorial (to bola inšpirácia pre mňa).
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
2.9.2010 15:38 Mige_Amour | skóre: 12 | Benešov
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Hezké, škoda, že tady se to tak nevyvedlo
2.9.2010 15:35 Tomáš
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Hezký, ale proč jsou ty butony tak velký, proti tomu písmu uvnitř. To je takový problém to udělat nějak úměrně? :-))
mirec avatar 2.9.2010 16:03 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Písmo je malé pretože na stroji, na ktorom programujem mám nízke DPI. Na cieľovom stroji je väčšie DPI a teda aj písmo. Ale v podstate asi by nezaškodilo nastaviť písmo na presnú veľkosť v pixeloch ;)
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
2.9.2010 20:46 Beruska
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Vetsi DPI, mensi pismo.
mirec avatar 2.9.2010 21:46 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Veľkosť písma je povedzme 9pt, v prepočte na px je to povedzme 11px. Po zvýšení dpi by veľkosť písma mala zostať rovnaká, ale v pixeloch je to už povedzme 15px. Písmo sa teda relatívne voči grafike, ktorá je v px zväčší ;) (čísla sú len orientačné)
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
2.9.2010 13:04 Jirka
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Odpovědět | Sbalit | Link | Blokovat | Admin
Dik, Davide.
2.9.2010 22:53 mikro
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Odpovědět | Sbalit | Link | Blokovat | Admin
Neexistuje možnost, jak načíst soubor se stylem, metodě se zkrátka musí zadat řetězec, takže to musí programátor vyřešit sám

To by ta clovece grafik / dizajner asi fakt miloval, keby si mu povedal, ze ti musi dodat textak vytvoreny v Notepade ;) Samozrejme, ze styly idu editovat v Qt Designerovi, so syntax highlightingom, kontrolou syntaxe atd.
2.9.2010 22:54 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Odpovědět | Sbalit | Link | Blokovat | Admin

Neexistuje možnost, jak načíst soubor se stylem, metodě se zkrátka musí zadat řetězec, ...

Není pravda, že to nejde, jen je třeba na začátek řetězce s cestou k souboru přidat file:///, např.: "file:////home/user/stylesheet.qss", na widlích by to mohlo vypadat "file:///c:\Program Files\xyz/stylesheet.qss" (možná s normálními lomítky, nezkoušeno)

Navíc pokud se style sheet načte tímto způsobem a ne vložením obsahu souboru jako v článku, může se v QSS souboru použít relativních cest (vzhledem k tomuto souboru) např. k obrázkům s pozadím, což dost zpřehlední zápis a usnadní práci.

Jinak článek dobrý, jen by to chtělo koukatelnější ukázku možností. Za takovou barevnou změť by se styděli i v cirkuse ;-)

mirec avatar 3.9.2010 08:33 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Grafické programy v Qt 4 – 12 (stylování GUI pomocí CSS)
Příloha:
jen by to chtělo koukatelnější ukázku možností

Neviem, či to je len o farbách ... celý príklad sa mi zdá taký dosť umelý. Mám z neho pocit, že autor qss nikdy nepoužil ;)

Skúsim sa na to pozrieť z pohľadu človeka, ktorý qss nikdy nevidel a nevie na čo by sa to mohlo hodiť. Takže si prečítam článok, vidím, že sa qss dá použiť na nejaké to ofarbenie prvkov, ale načo to je dobré sa moc nedozviem.

Ak by som ja vymýšľal nejaký príklad na qss asi by som skúsil skôr niečo čisto praktické. Pri prefarbovaní inputov má ako prvé asi napadne zmeniť farbu pozadia pri nevalidnom vstupe (v niektorých dialógoch kde je viacej inputov môže byť mierne podfarbenie do červena veľmi užitočné na nájdenie chyby).

Ako prvé ma napadne označenie inputov nejakou sémantickou značkou. To je možné dosiahnuť dynamickými property, takže zavoláme input->setProperty("inputInvalid", true alebo false) pri zmene obsahu inputu.

Ďalším krokom bude napísanie príslušného qss. To je pre tento prípad jednoduché: *[inputInvalid='true'] { background-color: red; }

Poctivý čitateľ skúšajúci si príklad by asi v tomto momente zistil, že takto to jednoducho nefunguje. Po zmene dynamických property je potrebné ručne vnútiť widgetu prekreslenie aby nastala viditeľná zmena.

input->style()->unpolish(input);
input->ensurePolished();

Posledným detailom v tomto príklade je farba, ktorá je daná napevno. Omnoho lepším riešením by bolo zobrať farbu z aktuálnej palety a v určitom pomere ju zmiešať s červenou. Výsledok môžte skúsiť v prílohe. Pekný príklad použitia qss a dynamických property je napríklad tu.

LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon

Založit nové vláknoNahoru

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

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