0:00:15ahoj takže ste přišli na přednášku jako
0:00:20se petr hodina a jelikož jsem nikde nenarazil na
0:00:25žádnou přednášku o qt framework tak sem se rozhod jednu takovou dělat
0:00:31na začátek bych se zeptal důrazná qtčko
0:00:38dobře to místnosti
0:00:44tak proč je takové teďka neznají bych ho tak nějak trochu přiblížil a
0:00:51jedná se vlastně o mutes platform fail or a to znamená že aplikaci kterou napíšete
0:00:58můžete a na portovat na a windows a takové sme no s
0:01:04a androida a další platformy
0:01:06a kromě toho že tento framework je multiplatformní nebo vám nabídne i to že aplikace
0:01:14bude mít aditivní vzhled pro danou platformou když nebude se mashe
0:01:18a
0:01:21koho to většinou když _e té fotce plus plusku případně nově
0:01:28stejně tak čtyři sedum čtyři osum je tam podpora skriptovacího jazyka kina no
0:01:36a
0:01:37obrovskou výhodou qtčko je že
0:01:41a nás velkou rozsahu dokumentaci a stovky příkladů
0:01:48takže s ním poměrně stabilizační
0:01:52ne začátku
0:01:54pro qtčko víceméně jenom knihovna vyzkoušet oceli fingo slepě
0:02:02a můžete si v něm naprogramovat bude aplikaci
0:02:06která a může tahat data a
0:02:10přes s internetu může pasovat jak se maroka
0:02:15nebo dělat další řadu věcí
0:02:23pro vývoj o většinou používáme a character taky designer
0:02:31a na
0:02:34pokoušet pokud máte nějakou aplikaci pro qtčko akceptují
0:02:40portovat do mýho jazyk a potom vám velký nabízí snadno možnost lokalizace rizika
0:02:48a neposlední řadě to také licence qt nabízí
0:02:54tři druhy licence prvně komerční naučně
0:02:59žít měl a posledně a učitel že znamená že a
0:03:05když použitého jeep jel a tak a
0:03:09váš kotel k vaší aplikaci nemusíte nikomu dávat
0:03:13měl by se mohli přebukovat dycky
0:03:17tak kde najdeme qtčko určitě to éčko soše desktopových prostředí
0:03:24potom například o
0:03:27přehrávače délce player
0:03:30pokud někdo dělal nějaký
0:03:33třída modelování možná na autodesk má jo toto desku
0:03:38a taky vtom dělá vesmírná
0:03:41evropská agentura
0:03:46ta
0:03:47tady na tom obrázku vlastně vidíte architekturu té teďka
0:03:53a on
0:03:55to dole je by se dalo říc podstatě
0:04:00jsou moduly pro jednotlivé
0:04:03platformy
0:04:05a následně na to a to nebo zelené sou
0:04:09a
0:04:13klíčové moduly pro qtčko
0:04:16k tomu dá máme vývojářské nástroje a jako jsou nějaký kriteria designer
0:04:23a
0:04:24na nějakou nápovědu
0:04:26a licencování
0:04:30tak ale jelikož jsem nechtěl
0:04:34aby přednáška to
0:04:36nicméně _m popis na
0:04:37a tak sem se na to zařadit do přednášky a nějaký kus kódu
0:04:44takže tady na tom
0:04:46výřezu vidíte jednoduchou aplikaci
0:04:50kde si na pár řádek vytvořen a tlačítko
0:04:56a
0:04:58vlastně na první řádek a ve funci main je vytvoření
0:05:05si no to na paměti
0:05:09na dalším pře kluky gimpu špatný uši vytváří samotné tlačítko
0:05:14následně zavolám metodu
0:05:17jako se jedná o objekt precise
0:05:20a
0:05:21přizpůsobim
0:05:24okno s tlačítkem
0:05:27a velikosti s tou na třicet
0:05:31a tlačítko zobrazení
0:05:34a
0:05:38posledním řádkem metrem a po tak ze kterého vlastně spustím smyčku a kde qtčko
0:05:49obsluhuje události
0:05:52a
0:05:53to znamená že a
0:05:56a šel to je to má
0:05:58kašlete to řádce se spustí samostatná samotná aplikace
0:06:04a výsledek vidíte problém
0:06:07rohu
0:06:12ta
0:06:14hezký vytvořit si tlačítko řešený vemete kapek to nic dělat nebude
0:06:19takže tam přidáme
0:06:23nějakou akci a aby když na tlačítko klikneme
0:06:28tak se něco stalo
0:06:33podstatě změnou lokte kterou sem tady u do důchodu je že
0:06:38tlačítko všechny statické a dynamické se odpojil
0:06:42a na druhém řádku přes
0:06:48a dále si upravím opět _e rozměry to obrazem si ho
0:06:53a
0:06:55následně zavolám a
0:06:57a funkci kolonek
0:06:59která slouží
0:07:01propojení za
0:07:03signálu a slotu
0:07:05a tady konkrétně říkám že vytvořím tlačítko
0:07:11a
0:07:13když na něj zmačknu
0:07:15tak budu chtít aby se to tlačítko nebo respektive to okýnko zavřel
0:07:21to se skutečně
0:07:23stavu
0:07:26tady je syntaxe signálu a slotu
0:07:30nám řeknite starou syntaxi která se používá qt čtyřce
0:07:36prvním parametrem je
0:07:40ukazatel na a podstatě zdroj vedení tady to je ten signál
0:07:46potom je to vlastně
0:07:49ta metoda nebo ten signál jakoby
0:07:54emitovány
0:07:55a následně zdroj
0:07:58zdroj cíl
0:08:00a ne to byla
0:08:02která se má zavolat pokuď k té události dojde
0:08:08a fuk qt pětce se trošku měl syntaxe je to z důvodu toho že ta
0:08:14původní nemožného neumožňovala kontrolu
0:08:19a při překladu
0:08:21znamená že pokud se udělali chybu řekněme že
0:08:28ste se upsali a zvolil nesprávnou metodu
0:08:34tak vám nevyskoč o řád varování žádnej error
0:08:39qt pětce pokud respektive můžete furt úžasnou syntaxi
0:08:45aniž můžete tu tak a vám poprvé řekne
0:08:49že
0:08:52ste udělali chybu
0:08:53a path čtyřce ste se to zbyde a šel se tě štve aplikace běželo a
0:09:00tady jste se koupit do
0:09:03standardního
0:09:06a výstupu tak a vona vlastně random řek že nelze propojit hlasy nás letem světem
0:09:19ta
0:09:21dalším příkladem nepodaří příklad se mzdu a čítač a teď jsem si
0:09:27vytvořil třídu timer která dědí s tím timer
0:09:34a třídy
0:09:37a vlastně
0:09:39vidíte že
0:09:41na postup to tady mel a dále je tam a privátní slovo
0:09:48první stav
0:09:50co vše vlastně a si motor kterej vy vypisuje a kolika vteřin uběhlo
0:09:59a von strukturu
0:10:02nejprve
0:10:04inicializuju
0:10:07a
0:10:08proměnnou tě která mě vlastně říká to těch ti kušnu za sebou
0:10:14a potom
0:10:16si pro pojem a signál a kterej náký timer tady timeout
0:10:23s
0:10:25se slapem
0:10:27restart
0:10:28následně řeknu že chci nastavit interval ten najednou přechodu tisíc milisekund nebo ti start nebo
0:10:37a chce
0:10:38milisekundy a spustím ta in
0:10:44výsledkem je že ne time nevypisuje
0:10:49výsledkem je a slušní najme
0:10:56ty nevypisuje kolik vteřin
0:11:03jak sestavit aplikaci qtčko je to relativně jednoduché
0:11:10qtčko používá
0:11:14you may
0:11:17program kterej
0:11:20nejdříve
0:11:21vytvoří projektově soubor
0:11:25následně zavoláte opět tím majitelem vytvořit makefile a sto metrů ste schopni generovat aplikaci
0:11:34té ale takový trošku
0:11:36pracný bylo to ručně pro to máme
0:11:41a jednička
0:11:43který nám práci usnadnilo
0:11:47de vlastně
0:11:48si řekneme že chceme založit nový projekt a leničko tvoří všechny potřebný soubory
0:11:57díky litru podporuje tom nějakými u taktéž s imei
0:12:03a standardní dva gramy tam jedeme
0:12:07a
0:12:09nebo jsem zmiňoval qtčko multiplatformní
0:12:12a
0:12:13abyste této multiplatform vlastně dosáhli tak predicate rok existuje luky ty
0:12:21jeden takový vidíte na obrázku
0:12:25a
0:12:27tento kitia vlastně
0:12:30a jakoby
0:12:34popis celkový popis sestavení aplikace my si řeknete pro jakou platformu a chcete aplikaci sestavit
0:12:43jakých komponent chcete použít
0:12:45a vy bagr jakou verzi qtčko
0:12:49případně a jaký chcete nastavit parametry prostředí té proměnné
0:12:57vidíš pokud bych chtěl
0:12:59a
0:13:02vyvíjet pro android
0:13:03a vytvořil bych si linky a je bych
0:13:08dal kdybych přibylo
0:13:10a parametr
0:13:12na kompilátor pro
0:13:14a
0:13:15je canceller arm
0:13:16a
0:13:20no respektive
0:13:22mobil danou aplikaci zkompilovat
0:13:25prazdroj
0:13:27případně pro nechal nebo windows
0:13:32dá se říct litr nabízí
0:13:38dále kytky nabízí nápovědu já integrovaná a
0:13:45ještě po porodu
0:13:48takže kontrolu systémů konkrétně bitu jsou takže
0:13:52a
0:13:52eště některých dalších
0:13:54osobní zkušenost s bytem
0:14:01k a
0:14:02abych nemusel celý víčko programovat ručně
0:14:06tak k tomu mám a
0:14:08další nástroj nanoseconds _e
0:14:13kde vlastně tady mám jakýsi plátno
0:14:17a do kterýho můžou přetahovat různý míře ty znamená pokuď si
0:14:24mačkací tlačítko a lidi motlíček po s případně něco složitějšího třeba
0:14:31nějakej listu new rock ten před zobrazovat seznam pomůže
0:14:37tak si jednoduše přetáhnu na a no a ono se mě zobrazí tady mám a
0:14:45nějaký název jo
0:14:47a danou komponentu
0:14:50kterou pak můžu následně
0:14:52adresovat fordu
0:14:56a ještě tady mám ukázku jak vypadá
0:14:59vlastně nebo respektive to co vytvoříte grafický má taky samozřejmě a nějakou textovou reprezentaci
0:15:08je reprezentovaný
0:15:11vlastně v souboru o co volí nebo
0:15:15zpět i ve
0:15:18název vašeho
0:15:20vaší třídy
0:15:22tečkou je
0:15:23a je to xml soubor
0:15:26který popisuje
0:15:28a co se vlastně ve vaší aplikaci na ne že základem je míči
0:15:36tady název respektive
0:15:39a název který se nám to zní
0:15:43a
0:15:44za hlavní window tady to potom vidím že to mám nějak tlačítko
0:15:51a tak dál a tak dál
0:15:55tak
0:15:56a následně potom o veselej třídě
0:16:02zavolám
0:16:04a
0:16:06juraj se zabývají
0:16:09takže metoda a
0:16:11která mi
0:16:14přečtete na konfigurační soubor
0:16:17a vytvořit mi přesně to samý rozhraní chtěl jsem si vytvořil země
0:16:26a následně pokud push chci jo
0:16:29pokud chci ty komponenty něco dělal
0:16:32a tak si můžu zavolat přes hory nebo
0:16:37a jsou nastavit třeba a že nemá bejt je ta škrtlé
0:16:50a
0:16:51nejvíce nejdůležitější třídou von
0:16:54netrefili nějaký účinek kterého dětí podstatě všechny a
0:17:01další třídy nebo respektive pokud ta třída začíná písmenem tohle jednička nízký tom že
0:17:09důvodem je že kluk jack zpřístupňuje třídám že zmiňovaný a signál jásoty
0:17:16a dále umožňuje správu paměti
0:17:19a tou zprávou paměti myslím že když si vytvořil
0:17:24a
0:17:27nějaký
0:17:28okýnko není umístí na
0:17:32tlačítko tak pokud tomu tlačítku konstruktoru předám
0:17:37a ukazatel na to okno
0:17:41tak o
0:17:43když z vyšel o
0:17:45na závěr zavře to okno tak se to tlačítko dal bude automaticky nemusím se o
0:17:51to starat
0:17:52já sám o
0:17:57a poslední věcí kterou o tom že k nabízí že introspekce neznamená že se můžu
0:18:04dívat na parametry
0:18:06a
0:18:08těch tří za na jsem
0:18:11zjistit jaký má
0:18:15jaký méno na ta třída např
0:18:18případně nějaké další
0:18:20a parametry
0:18:24tak ptej se vypíchla nějaký běžně používaný třídy
0:18:30imidže ty je klasický g komponenta prázdná
0:18:35a string je třída která slouží pro práci s řetězci
0:18:42na všechny standardní operace které jste čekali znamená a třeba
0:18:50vyřízli tady ten kousek řetězce případně připojeny na začátek nakonec se tam řetězec
0:18:58nebo zjistit jestli se vtom řetězci nalej za a daný text
0:19:05a tak dále
0:19:07jo vy ste je seznam
0:19:12znamená že si můžu
0:19:16jedná se o kontejneru třídu to znamená že
0:19:20musim když jako root průlez musím říct
0:19:25jakou komponentu bude mít to znamená že se vytvoření třeba ty vole jestli tu sedm
0:19:31že by mi to list
0:19:34řetězců
0:19:36ty gumo celá příprava případně
0:19:39odebírat
0:19:40tím ono je by se dalo říct silný nemám
0:19:45a
0:19:48prokažte pro každý prvek
0:19:51dvě hodnoty klíč a hodnotu
0:19:57a kým hraješ funguje podobně akorát ty rodiče nejsou
0:20:04a nesetříděný
0:20:07a tím můstek je a zásobní
0:20:11a tím ve které je a po
0:20:20ta nějaký rozdíl je lépe věcem oproti léta čtyřce
0:20:26asi nejvýraznější je podpora a takž a high resolution displej
0:20:34displej
0:20:36dále zaměření na mobil je to znamená no a android
0:20:41a us
0:20:44měl by byla předem výkon
0:20:46a zároveň se zachovala kompatibilita splete čtyřkou by měl bejt možný s pustit berete se
0:20:55školou aplikaci a s tím že jí vidíte tak tam používat path knihovny letech je
0:21:02první knihovny
0:21:04osobně jsem stejného
0:21:06žádnej problém
0:21:08a dál se
0:21:10hrozný hodně pít k vůli
0:21:13a samotný knihovny byly
0:21:21a sou daleko víc modulárním teďka znamená a
0:21:27můj komponenty jsou jsem vlastní knihovně si trvání další knihovně
0:21:33jak se na o další a tak dál
0:21:41ta pokud byste potřebuje dokumentaci tak doporučuju strenky do tý a jednou
0:21:48případně i ty té no tady centos
0:21:54a dále a
0:21:58pokud máte rádi knížky účinků pane vás
0:22:04jsou
0:22:05a
0:22:07který nás dovede von se průpravu od začátku
0:22:12ty vole nebude aplikace
0:22:15pokud byste chtěli potřeba vytvořit něco složitějšího
0:22:19doporučil tohlencto tenhlencten dobrý den kdy vlastně for jsem rozebírají
0:22:29věci typu webový prohlížeč a _e v c co vše pod kontrolou
0:22:36teda jak jsem říkal
0:22:38když potřebujete zobrazit například seznam položek seznam řetězcům a na nevíte kolik těch bude
0:22:47a nebo potřebujete aby když na tu položku kliknete
0:22:52tak to udělá něco speciálního
0:22:56tomto
0:22:58potom se dozvíte právě
0:23:00to je mince
0:23:05tak a pokud chcete tak ještě dnes tom workshop místnosti a sto třináct
0:23:12sebou stačí
0:23:14co časem
0:23:17pleteš musel nestalo
0:23:23dokud
0:23:36haha tam já jsem koukal nedávno mi to bude dobrý by byl ten s tím
0:23:41ten request matice patnáct nebo šestnáct kardinalito podstatě je stejně jako to dělají na a
0:23:49ne les
0:23:51jak sama sebe tam bylo to že
0:23:54a
0:23:55vy si tam řeknete
0:23:57sou co tam dva druhy jak to jak trochu běžkách
0:24:01a
0:24:02mezikódem darem první druh na ten druhý tomu ale zatím si řeknete a
0:24:09jak moc se to má jakoby pře násobit
0:24:13jako by
0:24:14zvětšuje
0:24:16a co se týče obrázku tam je to řešení takže máte lístky složku někde s
0:24:20obrázkama a
0:24:22je tam jenom
0:24:23nakonec tom obrázku do toho názvu přidáte
0:24:27myslím je to _e
0:24:31toto řešení prostě
0:24:33ono se to načte ten obrázek takže to semestr a muset je ten engine
0:24:38random si to vyřeší spustí a mám větší displej tak zvětšený celej ten lid že
0:24:44a náš tu zprávu obrázku
0:24:58takže se
0:25:22já můžu pojedem na čas ty otázky byly třeba sam o čem jsem nedělal jako
0:25:27to nemůžu srovnat může to srovnat třeba s pohledu já jsem dal javě
0:25:32tak jako
0:25:33nevidíte v chtěl vědet má tu výhodu že máte přístup podstatě ke všem ke všem
0:25:38na rozhraní tady qtčko implementovaná jenom část
0:25:42dost není tam implementovaný prostě všechno co tam přístupy ke kontaktům mapě senzorům a ty
0:25:49důležitosti pokud chcete něco jinýho tak si
0:25:52ram rozhraní
0:25:53vy zavoláte džobu smyčko
0:25:56dobře budu musíte udělat
0:25:58sám
0:25:59a co se týče velikosti a
0:26:07performance tu tak ta velikost s
0:26:12já nevím jak je to řešení jak to
0:26:14protože když jsem viděl když jsem to zkoušel o
0:26:18androidy let vlády čtyřka a tam to fungovalo podstatě tak byste se stáhnou aplikaci mi
0:26:24nestalo
0:26:25co však ocet jako bolí těch knihoven to se tam nainstaluje a potom ta aplikace
0:26:30co si vytvoříte tak si to praha jako bys tu ty aplikace to co potřebuje
0:26:34a co sem to tak nějak zkoumala tak pětce jak rychle jako by tady toto
0:26:39naše daně knihoven takže tam se musí prostě všechno nacpat do ty aplikace je ta
0:26:44aplikace to velká
0:26:45to znamená nebo je to jeden dva megabajty třeba dvacet
0:26:51a nikomu to neřeknu
0:26:55esemesku
0:27:05koukal jsem jak viděl mě to dělal podstatě takže o tom že ten žaluzky proces
0:27:10který přímá ty vstupy a zároveň tam jakoby posílá nějaký ty výstupu prostě co se
0:27:15má být nevyspali a voni toho šéfovi takže se tam vytvořit další jakoby vlákno takže
0:27:21všechny ty vstupy co posílání do toho vás líto path
0:27:25removy se posílá ty výstupy sparty
0:27:28a
0:27:32tam se předán kontrol to byl prostě ubohost co chci
0:27:42no jak
0:27:44jo
0:27:46to jsem zapomněl zmínit a jedním cvikům wifinu třeba koji jo
0:27:56případně možno se angažovat primitivně
0:28:01je to
0:28:03a zase ve čtvrtek rendered _e přes opengl tak můžete využít pokuď
0:28:08a jakej platformu dosud nějaká grafická karta
0:28:24a dopoledne
0:28:27jak já začneš takovou android dala tam je to vyřešený převodovky který tomu že tam
0:28:32můžete vytvoří dáte káčko
0:28:34a určete může spustit ropnou simulátoru nebo na se to přesune
0:28:42na ten mobil co chcete čitelně tabulek nebo ne
0:28:48jako platformu když jsi windows a pak tam existuje
0:28:56projekt že
0:28:57a vám to vytvoří klasickej installer
0:29:01řeknete mu prostě co to má použít co to má kubě vzít za knihovny kde
0:29:05ta vaše aplikace jsou vaše vobrázky jo nějaký data všechno se to zabalí
0:29:11a ho teda tomu uživateli asi pejdle přes záda sou jestli
0:29:22prosím
0:29:27tak nějak
0:29:28respektive pokud má nainstalovaný qtčko
0:29:33a tak to může spustit rovnou
0:29:36pokud doma návce stě
0:29:39my se bavíme o windows _e
0:29:43pokud použít pokud to nemá odgermanizovaný path knihovny
0:29:49pak si tam se nestalo přes ten salát
0:29:55je to možná tvrdě to staticky ale to je právě to licencování že když to
0:30:01bublině dynamicky tak bude použitelný přispěl na ten svůj to umí tancovat nějak chci
0:30:09když to rozbili statickej tak _e sigkill vypadá že tu
0:30:25dobře možná tak ale jako minimální musím říct jako
0:30:29jak by lidi
0:30:30musím říc teda i u toho vstupu že dynamického
0:30:35pokud to tam někde já jsem co budu muset volit neviděl večer dynamicky tak pak
0:30:40je možnost bedně prej statické že to bude prostě jedna velká binárka který můj tip
0:30:46a jako proč pokud to tam nějak mají se dá použít _e že jo
0:30:52tak ta a nebo
0:30:54pak má ještě gps licenci citelné zveřejnil všechno nebo nějakou komerční
0:31:11když budu mít něco bytu
0:31:14nemyslím tak nějakejch asi patnáct mega to má
0:31:18ale to jenom ten modul prostě pro políčko tam není nic že bych si tam
0:31:22dal třeba podporu síťování nebo todleto se skočí třeba ve třicet
0:31:29jako není to že by to mělo sto mega na kole
0:31:33to nehrozí jako to je to relativně malý
0:31:47a frame
0:31:48jednak file
0:31:50to furt umí jako to co běží na nějakých _e tedy platforma kde máš obrovském
0:31:54ten hardvér nenašlo dost lidí tam řekněme s jaká varianta a co ti tam nejsou
0:32:01xka tak to namontuje do framebufferu to je
0:32:05jak on white se jsme chodili tam třeba jedna celá dvě sekundy no tak jestli
0:32:09do dvou sekund a na této aplikace
0:32:19nějaký dotazy
0:32:32tak jel tak děkuju za pozornost a
0:32:36dyžtak na workshopů