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