Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Qt Kamila Bittová Martin Medelský. QT interval ON THE QT.

Podobné prezentace


Prezentace na téma: "Qt Kamila Bittová Martin Medelský. QT interval ON THE QT."— Transkript prezentace:

1 Qt Kamila Bittová Martin Medelský

2 QT interval

3 ON THE QT

4 QuikTrip

5 QuestionTime

6 QTales

7 QT Technik

8 QueerTelevision

9 QuickTime

10 Qt [ ˈ kju ː t] [ ˈ kju ː - ˈ ti:]

11 Qt •multiplatformní knihovna •slouží pro vytváření GUI •Graphical User Interface •nejpopulárnější společně s GTK+ •v jazyce C++, nadstavbová •nahradily starší Motif •Licence •komerční •GNU GPL 3.0, GNU LGPL 2.1

12 Historie Qt

13 Vznik •květen 1995 •zakladatelé •Eirik Chambe-Eng •Haavard Nord •Trolltech •norský institut technologie v Trondheimu

14 Eirik Chambe-Eng

15 Haavard Nord

16 Základní myšlenka •začátek vývoje v roce 1988 •1990 – databázová aplikace pro ultrazvukové obrazy v C++ •systém měl běžet s GUI pod Unixem, Macintoshem a Windows •položena základní myšlenka Qt

17 Tvorba první verze •1991 – tvorba tříd jako základu Qt •spolu s Eirikem – design •1992 – myšlenka signálů a slotů •1993 •první grafické jádro Qt •implementace vlastních modulů (widgetů) •konec 1993 – začátek společného podnikání

18 Jak uspět aneb Co bez peněz? •velice těžký rok 1994 •snaha vstoupit na zavedený trh •záchrana v podobě manželek

19 Vznik názvu Qt •Q – vypadalo hezky v Emacs fontu •t – zastupuje toolkit (sadu nástrojů)

20 Kontrakt s Metis •kontrakt s norskou firmou Metis •vývoj software založeného na Qt •Trolltech najal Arnta Gulbrandsena •zaměstnán 6 let •vymyslel systém dokumentace •vylepšování samotného Qt kódu

21 Arnt Gulbrandsen

22 Trolltech

23 •norská společnost •4. březen 1994 – Quasar Technologies •přejmenování na Trolltech •2008 – odkoupeno finskou Nokií •dnes – Qt Development Frameworks •hlavní sídlo – Oslo, Norsko •pobočky – Austrálie, USA, Čína

24 Vydání první verze •20. květen 1995 •verze Qt 0.90 •Windows, Unix •komerční a open source licence

25 První zákazníci •březen 1996 •Evropská kosmická agentura – 2. zákazník •10 komerčních licencí •další zaměstnanec •během roku 1996 •8 zákazníků •každý z jiné země světa •celkem 18 licencí

26 Verze Qt – rok 1996 •květen 1996 – verze 0.97 •24. září 1996 – verze 1.0 •konec 1996 – verze 1.1

27 KDE •1996 – založen projekt KDE •vedení Matthiase Ettricha •multiplatformní prostředí •založeno na Qt

28 Další verze Qt •duben 1997 – verze 1.2 •Qt se stalo standardem pro C++ GUI vývoj na Linuxu •září 1997 – verze 1.3 •1998 – Matthias přišel do Trolltechu •září 1998 – verze 1.4

29 Qt 2 a problém s licencí •červen 1999 – verze 2.0 •nová open source licence •Q Public Licence (QPL) •v souladu s definicí open source •až do verze 1.45 nekompatibilní licence •bouřlivá diskuze v roce 1998

30 Ocenění •srpen 1999 •vítězství LinuxWorld •nejlepší knihovna/nástroj •2001, 2002, 2004 •LinuxWorld •2002 •Software Development Times

31 Trolltech ve světě •1999 •pobočka v Austrálii •2000 •rozšíření do Ameriky •2005 •kancelář v Číně (Pekingu)

32 Qt verze 3 •2001 •Windows, Mac, Unix, Linux •42 nových tříd •kód přes řádků •významné rozšíření verze 2 •zlepšení podpory Unicodu a editování widgetů

33 Qt verze 4 •2005 •500 tříd •9 000 funkcí •rozděleno do více knihoven •lehce použitelné šablony •rychlý a flexibilní 2D kreslící framework •tisíce menších vylepšení •dostupné v obou licencích na všech platformách, které podporuje

34 Aktuální verze •4.8.3 •ke stažení z qt.nokia.com •verze pro různé platformy •archiv verzí •tisíce zákazníků •desítky tisíc open source vývojářů

35 Qt 5? •původně už v červnu 2012 •odklad nejspíš na listopad 2012 •zásadní změna paradigmatu v platformě •vylepšení grafiky •značná podpora QML a JavaScriptu •Tradiční C++ widgety budou nadále podporovány •výrazné zlepšení rychlosti

36 Programování v Qt

37 Multiplatformní Qt •Základní •Windows - XP, Vista, 7 •Windows CE, Windows Mobile •OS X •X11, vestavěné verze Linuxu, Wayland •Symbian, Maemo, MeeGo •Externí rozšíření •OS/2, Qt-iPhone, webOS, Necessitas, BlackBerry, Raspberry Pi, Amazon Kindle DX, OpenSolaris, Haiku

38 Přizpůsobivost Qt •různé funkcionality pro různé platformy •neplatná funkcionalita je ignorována •vzhled se přizpůsobí platformě •lze využít třídu QStyle

39 Programovací jazyky •Základní •C++ •Další běžné •C#,.NET •Java, Perl •Python, Ruby •PHP •Ostatní •Ada, D, Harbour, Lisp, Lua, Pascal, QML, R

40 Programování v Qt •všechny soubory ve složce (název!) •vytvoření projektového souboru.pro •informace o projektu (*.h, *.cpp, *.ui, …) •qmake – project •vytvoření makefile •qmake •překlad programu •pomocí typického make

41 Programování v Qt Creator •programovací prostředí •automatické •vytvoření souboru.pro, překlad •grafické rozhraní (kolegyně) •Qt Designer •příklady a dema •dostupné v opensource verzi SDK •http://qt-project.org/http://qt-project.org/ •http://doc-snapshot.qt-project.org/http://doc-snapshot.qt-project.org/

42 Qt moduly

43 Modul QtCore •základní modul s negrafickými třídami •QChar, QDate, QTime, QFile, QList,… •QMeta... •důležitá třída QObject •základ všech objektů •neobsahuje kopírovací a přiřazovací konstruktor •funkce pro práci se signály a sloty

44 Signály a sloty •důležitá součást Qt •komunikace mezi objekty (QObject) •každý objekt může vysílat signál •např. buttonClicked, valueChange •dále např. QMouseEvent •signál je přijímán sloty jiného objektu •např. setValue, quit, show

45 Modul QtGui •modul pro vytváření GUI instancí •důležitá třída QWidget •základ všech UI objektů •abstraktní třídy sdružující základní funkce •také např. QPainter •důležitá třída QLayout •shlukování objektů a jejich zarovnání •např. QBoxLayout, QFormLayout,…

46 Ukázka „Hello, world!“

47 Ukázka QPainter

48 Moduly QtMultimedia a Phonon •moduly pro práci s multimédii •QtMultimedia – pouze základní •v dokumentaci je doporučený Phonon •Phonon •spadá pod GNU LGPL (součástí KDE) •není garantována jeho funkčnost

49 Ukázka Phonon

50 Moduly QtOpenGL a QtOpenVG •moduly pro použití 3D grafiky (OpenGL) a snadné použití 2D vektorové grafiky (OpenVG) •QtOpenGL •implicitně na Windows, X11 a Mac OS X •dále také pro vestavěné verze Linuxu

51 Další moduly •QtNetwork – práce se sítí •QtSql – práce s databázemi •QtWebKit – práce s webem •QtXml – práce s XML •QtDesigner – pomocné třídy pro Qt Designer

52 Ukázka QWebKit

53 Použítí Qt •KDE (desktopové prostředí) •Skype •VLC media player •VirtualBox

54 Použití Qt •Mathematica •Google Earth •DreamWorks Studio •HP, Panasonic, Philips, Samsung, Siemens, Volvo,…

55 Qt Designer a ukázky

56 Děkujeme za (ne)pozornost Kamila Bittová Martin Medelský


Stáhnout ppt "Qt Kamila Bittová Martin Medelský. QT interval ON THE QT."

Podobné prezentace


Reklamy Google