abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 4
včera 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 5
včera 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 0
včera 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 15
včera 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
18.10. 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
18.10. 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (74%)
 (13%)
Celkem 115 hlasů
 Komentářů: 7, poslední včera 23:06
    Rozcestník

    QML – moderní uživatelská rozhraní v Qt (3)

    10. 4. 2012 | Jaroslav Řezník | Návody | Programování | 5367×

    Doposud jsme se v rámci seriálu o vývoji mobilních aplikací v Qt Quick seznamovali s vývojovým prostředím (Qt SDK a Qt Creatorem) a předvedli jsme si, jak si přeložit svou první aplikaci v QML. O tomhle zajímavém deklarativním jazyce jsme si pak podrobněji pověděli v druhé části seriálu. Probrali jsme strukturu QML a aplikací, do krve se nám snad i dostala syntaxe jazyka a máme i představu, kam Qt Quick patří v rámci frameworku Qt. V následujících dílech budeme pokračovat v rozšiřování našich znalostí a v tomto se zaměříme na komponenty v QML.

    Obsah

    Komponenty

    link

    A komponenty nás budou provázet taky celým článkem – pro začátek naše vlastní (Qt Components se bude podrobněji věnovat minimálně jeden celý díl seriálu) a výrazně nám usnadní tvorbu našich aplikací. Zpřehlední nám zdrojový kód, který by se jinak stal dlouhou nudlí skládající se z kopírování a vkládání kusů kódu. Tím se také tyto části kódu stanou znovupoužitelné pro použití jak v rámci aplikace, tak i dalších následujících projektů. V případě uvolnění pod open source licencí pak mohou posloužit i ostatním vývojářům v naší rozrůstající se komunitě. QML je jako jazyk navíc velmi vhodný k rychlému prototypování návrhu aplikace a následný refaktoring aplikace do komponent se udělá v podstatě skoro sám. Vývojáře tak k němu přímo vybízí a dochází k symbióze návrhu a implementace aplikace.

    Vlastní komponenty

    link

    Komponenty můžeme nadefinovat jak ve vlastním souboru, tak i v rámci již existujícího QML zdrojového kódu. První případ je vlastně klasický QML dokument, který obsahuje vyžadované importy (minimálně QtQuick) a jeden prvek nejvyšší úrovně (často se jedná o element Item představený v předchozí části seriálu) s popisem vlastností a chování komponenty. Soubor s definicí komponenty musí začínat velkým písmenem s příponou .qml. Tímto jménem se pak následně ve zdrojovém kódu aplikace na komponentu odkazujeme. Druhou možností je pak vytvoření nové komponenty právě v rámci jiného QML dokumentu (či komponenty). Pro tento případ máme k dispozici element Component. Hojně se využívá pro oddělení menší části kódu do vlastní komponenty bez nutnosti vytvářet bokem nový soubor a to především pro opakující se prvky. Například jako delegát pro opakovače (repeatery) a ListView element, jak jsme si bez vědomí znalosti komponent ukázali v minulém dílu. Opět především z důvodu přehlednosti zdrojových kódů.

    V následujícím příkladu si napíšeme dvě komponenty – čtverec a obdélník a ty následně vytvoříme pomocí elementu Loader do jednoho řádku (element Row), kde se taky zobrazí. Všimněte si, že obě komponenty mají vlastní id a to je taky jediná vlastnost, která jde v rámci elementu Component nejvyšší úrovně nastavit. O Loaderu a dalších možnostech, jak vytvářet komponenty dynamicky, si povíme v jednom z následujících dílů seriálu o pokročilých vlastnostech QML.

    QML – moderní uživatelská rozhraní v Qt

    import QtQuick 1.0
    
    Rectangle {
        width: 300
        height: 100
    
        Component {
            id: ctverec
     
            Rectangle { width: 100; height: 100; color: "blue" }
        }
    
        Component {
            id: obdelnik
     
            Rectangle { width: 200; height: 100; color: "red" }
        }
        
        Row {
            anchors.fill: parent
            
            Loader { sourceComponent: ctverec }
            Loader { sourceComponent: obdelnik }
        }
    }
    

    Využití v rámci delegátu si představíme na závěr článku v rámci naší první malé, ale skutečné aplikace. Jaká to bude, si zatím necháme jako tajemství. Nechte se překvapit!

    Tlačítko

    link

    K tvorbě skutečného uživatelského rozhraní jsou ovšem potřeba přece jenom složitější komponenty než jen výše předvedený čtverec a obdélník. Mají definované rozličné vlastnosti, složitější chování a případně i reagují na akce uživatele. A čisté Qt Quick nechává tuto práci na vývojářích. Protože kromě základních elementů představených v minulém dílu seriálu k jejich obvyklému překvapení neobsahuje žádné elementy/komponenty pro tvorbu uživatelských rozhraní. My si teď ukážeme jak takovou komponentu, která bude vypadat tak, jak jsme si popsali výše, vytvoříme. Tlačítko je jeden z nejzákladnějších prvků uživatelských rozhraní a bude tedy první komponentou, kterou si navrhneme.

    Začneme vytvořením nového souboru (v Qt Creatoru buď pomocí menu File -> New File or Project nebo kliknutím pravého tlačítka ve stromové struktuře projektu a výběrem položky Add New, následně vybereme QML a QML File), který pojmenujeme Button.qml. Qt Creator nám pak předgeneruje šablonu, kterou budeme dále rozvíjet.

    import QtQuick 1.1
    
    Rectangle {
        id: container
        width: 100; height: 40; radius: 5
    

    Pro naše tlačítko použijeme jako výchozí prvek klasický obdélník (Rectangle) a nastavíme si jeho id na container (bude sloužit jako kontejner pro další prvky). Pomocí vlastnosti radius pak naše tlačítko trošku zjemníme a zakulatíme jeho rohy.

        property color buttonColor: "red"
        property alias buttonText: label.text
    
        signal clicked
    

    V následující části kódu se dostáváme k první zajímavé a pro naše tlačítko nejdůležitější části. Definici jeho vlastností a signálu jako reakci na stisk tlačítka. Na prvním řádku je klasická definice vlastnosti – pomocí klíčového slova property, následovaného typem vlastnosti a názvem vlastnosti. Za dvojtečkou se nachází výchozí hodnota vlastnosti – v našem případě tedy (pokud neuvedeme jinou barvu) bude tlačítko červené. Druhá vlastnost je takzvaný alias na vlastnost jiného prvku. Místo typu se za klíčovým slovem property objevuje další klíčkové slovo alias a za dvojtečkou se pak nachází odkaz na zástupnou vlastnost jiného prvku. Čtení a zápis na takto zástupné vlastnosti se automaticky projeví na čtení a zápisu v odkazované vlastnosti daného prvku. V našem případě prvku label a jeho vlastnosti text (ten si nadefinujeme později).

    Dále nás zajímá definice signálu – v našem případě bez parametrů, které je možné jinak uvést v závorce (každý parametr musí být nějakého typu).

        gradient: Gradient {
            GradientStop { position: 0.0; color: buttonColor }
            GradientStop { position: 1.0; color: Qt.darker(buttonColor, 2.0) }
        }
    

    Pro pozadí tlačítka (tedy výplni prvku container) použijeme barevný přechod z barvy určené naší vlastností buttonColor na její tmavší variantu – za použítí vestavěné funkce darker objektu Qt. Pokud by nám stačila jednobarevná výplň, mohli bychom opět na barvu pozadí použít alias vlastnosti.

        Text {
            id: label
            anchors.centerIn: parent; color: "white"
        }
    

    A dostáváme se k textu tlačítka, na který jsme si výše připravili alias buttonText. Pro naše účely tedy stačí nastavit id na stejnou hodnotu jako v aliasu (label). Všimněte si, že vůbec nenastavujeme hodnotu vlastnosti text. Ta se nastaví právě přes alias. Pouze vycentrujeme text na střed tlačítka a nastavíme jeho barvu na bílou.

        MouseArea {
            anchors.fill: parent
    
            onClicked: container.clicked()
        }
    }
    

    Zbývá poslední krok – naučit naše tlačítko naslouchat příkazům uživatele. Opět použijeme již představený element MouseArea, který roztáhneme na celé naše tlačítko (vlastnost anchors.fill). A nadefinujeme reakci na jeho signál onClicked. Tedy signál, který reaguje na stisk tlačítka myši (či dotek na dotykovém zařízení) a jako akci vyšleme náš vlastní signál clicked bez parametrů.

    Tímto jsme si vytvořili naše první komponentu – tlačítko. Nezbývá než se potěšit výsledkem a tlačítko použít v aplikaci. První tlačítko bude ve výchozí podobě červené (vizte výchozí vlastnost) a druhému nastavíme vlastnost buttonColor na zelenou barvu a bude tedy zelené. Při kliknutí se do konzole vypíše buď „Ahoj“ nebo „Hi“ v závislosti na stisknutém tlačítku.

    QML – moderní uživatelská rozhraní v Qt

    import QtQuick 1.1
    
    Row {
        width: 210; height: 40; spacing: 5
    
        Button { buttonText: "Ahoj"; onClicked: console.log("Ahoj") }
        Button { buttonText: "Hi"; buttonColor: "Green"; onClicked: console.log("Hi") }
    }
    

    Závěr

    link

    V následujícím dílu seriálu se podíváme na funkcionalitu, která dělá moderní uživatelské rozhraní (a to někdy k nelibosti některých uživatelů) moderní – na animace. Ty nás pak přivedou ke stavům a přechodům.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    10.4.2012 00:50 Pepa
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    http://en.wikipedia.org/wiki/Qt_%28framework%29 "...Nokia will remain the main development force behind the framework." NOKIA=MICROSOFT
    Rezza avatar 10.4.2012 09:26 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Tak oni se naopak snazi ukazat, ze Nokia tam nemusi byt ten hlavni :)
    little.owl avatar 10.4.2012 17:56 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Nicmene v realu drzi cely projekt pod krkem, bez ohledu na dohody s KDE a LGPL licenci.
    You're damned if you do, and you're damned if you don't.
    Rezza avatar 10.4.2012 18:29 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Jakym zpusobem? Ano, kdyz prestanou na Qt delat, tak bude asi pro komunitu tezke spravovat takovy obri balik, ale...
    Saljack avatar 10.4.2012 18:47 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ale zase by se asi vyházela podpora pro mrtvý Symbian a naopak by se začlenil Android.
    Sex, Drugs & Rock´n Roll.
    Rezza avatar 10.4.2012 19:10 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Z Qt 5 se podpora Symbianu už vyházela, k nelibosti komunity, hh.
    Saljack avatar 10.4.2012 23:13 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Tak on je Symbian z meho pohledu naprosto mrtvi a nezajimavi pro budoucnost. Jedine co ho v soucasnosti drzelo nad vodou bylo prave Qt. Je to celkem skoda, ze to Nokia takhle posrala, protoze moje E51 byla super.
    Sex, Drugs & Rock´n Roll.
    little.owl avatar 10.4.2012 19:51 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ano, kdyz prestanou na Qt delat, tak bude asi pro komunitu tezke spravovat takovy obri balik, ale...

    To je v podstate to, co jsem myslel.

    Obavam se, ze ciste komunitne spravovane Qt bez podpory komercni firmy s placenymi vyvojari na pozadi, urcujici nejaky smer a garantujici predvidatelny rozvoj, bude uplne jiny projekt a rada firem kupujicich licencovanou verzi zacne hledat jinou cestu.

    Nemyslim, ze Nokia nebude Qt rozvijet, otazka zni jak rychle - tedy kolik do toho investuje - a kam to bude smerovat, pomaly nejisty rozvoj je ta nejhorsi cesta a uprimne pokud vlastnikem bude Nokia s nejasnou motivaci, bude tato otazka stale ve vzduchu.

    V soucasne dobe bych do noveho produktu postaveneho na Qt jiz nesel, lepsi napsat v cistem C++, platforme zavisle casti izolovat a resit nativne.
    You're damned if you do, and you're damned if you don't.
    10.4.2012 20:04 __dark__
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    V soucasne dobe bych do noveho produktu postaveneho na Qt jiz nesel, lepsi napsat v cistem C++, platforme zavisle casti izolovat a resit nativne.
    Platforme zavisla cast je v dnesni dobe skoro vsechno, takze dobrou chut :-)
    little.owl avatar 10.4.2012 20:21 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Zalezi na produktu, v nasi codebase je to mene nez 15%, v podstate jen GUI, vlakna a souvisejici synchronizace a sitove sockety.
    You're damned if you do, and you're damned if you don't.
    Saljack avatar 11.4.2012 16:06 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    A to ti příjde málo? To jako, když budete chtít vyvinout multiplatformní aplikaci, tak tam vložíte vlastní vrstvu, která bude pro každou platformu řešit tyto problémy? No to mi opravdu přijde na hlavu, když Qt funguje skoro na všech majoritních platformách.
    Sex, Drugs & Rock´n Roll.
    11.4.2012 16:11 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ne, úplně jsem z toho "pokroku" zvlhnul!!! :-D :-D :-D
    little.owl avatar 11.4.2012 21:35 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ano, nehraje to pro nas zas tak velkou roli, GUI je donkey job a s Qt na OSX jsme meli spise problemy.
    Qt funguje skoro na všech majoritních platformách.

    To je ono, skoro funguje.
    You're damned if you do, and you're damned if you don't.
    10.4.2012 21:49 Čtenář
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    V soucasne dobe bych do noveho produktu postaveneho na Qt jiz nesel,

    no každý má svůj názor

    First look: Qt 5 makes JavaScript a first-class citizen for app development

    http://arstechnica.com/business/news/2012/04/an-in-depth-look-at-qt-5-making-javascript-a-first-class-citizen-for-native-cross-platform-developme.ars
    little.owl avatar 10.4.2012 23:32 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Tak od Javascriptu na desktop aplikace se budu drzet dale.
    You're damned if you do, and you're damned if you don't.
    Rezza avatar 10.4.2012 22:10 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Tak komercni vyvoj dela Digia, necekam, 4.8.1 delali prakticky oni, vcetne release. Ted je aktualne mozna horsi ten prekotny vyvoj :) Motivace Nokie jsou mobilni aplikace, coz se trosku rozchazi s tim, co potrebuji lidi delajici na desktop aplikacich.

    Doufejme, ze to jeste pujde. Delat multiplatformni framework neni easy, Gtk 4 co jsem slysel hodne omezi podporu ne-linux platforem, protoze proste nemaji lidi...
    little.owl avatar 10.4.2012 23:20 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Tak komercni vyvoj dela Digia, necekam, 4.8.1 delali prakticky oni, vcetne release.
    Vim, mame od nich Qt Commercial SDK, pouzivany na Ångström, tam to budem pouzivat asi dal, ne vsak na desktopu.
    Motivace Nokie jsou mobilni aplikace
    A postavene na Qt?
    Gtk 4 co jsem slysel hodne omezi podporu ne-linux platforem,
    Gtk4 ? Co se o tom vi?

    You're damned if you do, and you're damned if you don't.
    Rezza avatar 11.4.2012 12:20 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Postavene na Qt - ano, proc jinak by to Nokia delala. Jinak by cele Qt dala pryc uz davno. Next billion strategy. Qt 5 je vlastne z duvodu mobilu, jinak by asi nebylo potreba - hlavne deleni na mensi casti. Nedavno dokonce rikal Lars Knoll (na FOSDEMu), ze je to kvuli footprintu jeste porad malo rozdelene.

    O Gtk 4 jsem slysel na Desktop Summitu od Mathiase Clasena. Proste nemaji lidi, co by delali na jinych platformach nez Linuxu, vyvojare soucasne to nezajima, takze... Asi nezrusi uplne podporu, jen bude hodne osekana, pripadne bokem. Vic nevim.
    Saljack avatar 11.4.2012 16:12 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    To ale GTK odsouvá na druhou kolej.
    Sex, Drugs & Rock´n Roll.
    11.4.2012 16:15 Lol Phirae | skóre: 23
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    little.owl avatar 11.4.2012 21:42 little.owl | skóre: 22 | Brighton
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Postavene na Qt - ano, proc jinak by to Nokia delala. Jinak by cele Qt dala pryc uz davno.
    Ze setrvacnosti, backup plan? I kdyz vim, ze to interne v Berline pouzivaji.
    Nedavno dokonce rikal Lars Knoll (na FOSDEMu), ze je to kvuli footprintu jeste porad malo rozdelene.
    To chvalim, footprint a nutna velikost flashe byl zatim jeden z hlavnich duvodu proc Qt nepouzit.
    Asi nezrusi uplne podporu, jen bude hodne osekana, pripadne bokem.
    No dobre .... ale zrusit GIMP pro Windows?! ...
    You're damned if you do, and you're damned if you don't.
    11.4.2012 07:06 QML
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Někdo čeká, že v tomto VÁŽNĚ bude někdo dělat např. i desktop aplikaci ? Dlouho jsem používal QT4, teď začínám nový projekt a i s příchodem použitelného kódu v QT5 jsem se rozhodoval, jestli nová cesta nastavená Nokií ohledně QML nebude lepší. Představoval jsem si, že bude možné vytvořit plně funkční desktopovou aplikaci s použitím QT Widgets, ale s ksichtem a dalšími prvky definovanými pomocí QML. Buď nevím jak na to, nebo to prostě nejde ani v QtQuick 2.0

    V QML se musí definovat i to poslední tlačítko. Což ZASE povede k tomu, že vzhled a UX obecně bude aplikaci od aplikace naprosto odlišný. To někoho vážně nenapadlo dodat tam ekvivalent QT Widgets pro použití v rámci QML ? Ono to někoho i napadlo, viděl jsem nějaké video staré rok a něco, ale očividně se to do Qt Quick 2.0 nepropašovalo.

    Celé jsem to buď nepochopil, nebo furt nemůžu najít tu killer featuru, která dělá z QML něco použitelného...
    Saljack avatar 11.4.2012 09:28 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    V tom je právě ten problém. Protože v základu QML nemá vůbec, ale vůbec nic. Existují sice pochybné komponenty viz: http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/ . Ale proč tohle nedali do základu mi naprosto nedochází a dokud to tam nebude nemá to podle mě velkou šanci na prosazení. Aspoň ten Button, Window, Dialog atp. tam mohli být.
    Sex, Drugs & Rock´n Roll.
    11.4.2012 09:42 LKG
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ano, přesně tohle jsem myslel - QML components for desktop je to video o kterém jsem mluvil. Když si představím, že by si každý zbastlil ty věci po svém, tak to je prostě regulérní peklo.
    Rezza avatar 11.4.2012 12:23 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    V Qt 5 dokonce bude rozdelene i QML jako deklarativni jazyk od jeho casti, co vubec neco umi zobrazit. Proste ber QML jako jazyk, na C++ si nikdo nestezuje, ze nema v sobe tlacitka, pak o uroven vys Qt Quick 2 - zakladni knihovna na kresleni na QML a nad tim komponenty. Je to tak i ve vetsine jinych projektu (Clutter a MX) atd.
    11.4.2012 09:35 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Celé jsem to buď nepochopil, nebo furt nemůžu najít tu killer featuru, která dělá z QML něco použitelného...
    přesně tohle řeším už pekelně dlouho.

    Navíc mám pocit, že jakmile někde uvedou, že "s tímhle budou skvělě pracovat designéři", tak je to automaticky krok do slepé uličky - vizte např. Zope (DTML vs. TPL), všelijaké PHP templaty, Django templaty... vždycky se s tím serou stejní lidé jako předtím, akorát, že je tam vrstva navíc.
    Kuolema Kaikille (Paitsi Meille).
    11.4.2012 09:50 LKG
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ono mi to občas přijde celé takové podivné. Tlačí se technologie, která umí v základu zobrazit pár základních tvarů, byť "dobře" konfigurovatelných. Hlavně že to umí částicové efekty. To je fakt potřeba.

    Když se ohlédnu za QT jako takovou, tak se musí nechat že knihovna je to dobrá, ale přijde mi, že všechny tyhle věci co mají nějakým způsobem pomoct, jsou vyřešené tím nejhorším možným způsobem. Když se to používá jako čistě C++ knihovna bez udělátek typu Designer a jeho .ui soubory, tak se s tím dá solidně pracovat.
    13.4.2012 23:04 pjoter
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Ono mi to občas přijde celé takové podivné. Tlačí se technologie, která umí v základu zobrazit pár základních tvarů, byť "dobře" konfigurovatelných. Hlavně že to umí částicové efekty. To je fakt potřeba.
    Nevim no, videl jsi treba QtMediaHub? Pokud si delal nejake podobne UI v C/C++ tak asi vis jaky to je maras, nemluve o tom, jaky maras to je aby to dobre vypadalo a chovalo se to stejne na Win/Linux/OSX. Pomoci QML se da udelat celkem zabijacke UI skoro bez prace a vicemene ciste, temer bez chyb (chyby jsou vetsinou v C/C++ backendu, v UI minimum). Proto QML pouzivam a to UX bytostne nesnasim, konzole-ole! :)

    Ano, tento tutorial sice ukazuje zakladni kameny a neodkryva naplno moznosti QML, ale to je holt udel tutorialu. Kazdopadne kdo ma predstavivost, tak i z techto zakladu pochopi jak mocny nastroj QML je. Pokud ne, je to ciste jeho problem :)
    Saljack avatar 14.4.2012 21:03 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    V tom je právě ten problém vše vypadá jako omalovanky a a dokážeš si představit jaké to bude, když to bude takhle dělat každý?
    Sex, Drugs & Rock´n Roll.
    mirec avatar 15.4.2012 09:34 mirec | skóre: 31 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Uiiii windows ;)
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Rezza avatar 11.4.2012 12:12 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Bude to, ale jak sami rikaji, nejdrive v 5.1, spise v 5.2 a pozdeji. Zatim pro desktop plati Qt Widgets jako hlavni.
    Saljack avatar 11.4.2012 16:01 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Pak je podle mě pěkná blbost vydávat Qt 5, v kterém by měli být Qt Widgets jako "zastaralé" a nebo poté vydat rovnou Qt 6. Prostě v tom nadělají takový bordel.
    Sex, Drugs & Rock´n Roll.
    Rezza avatar 12.4.2012 12:57 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: QML – moderní uživatelská rozhraní v Qt (3)
    Srovnejs si Qt 4.0 a Qt 4.8 co vse se tam objevilo a zmenilo. Pokud by to byla takhle, tak dnes mame po vzorech Chrome a Firefoxu Qt 12 :D

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.