Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilStanislava Tesařová
1
Grafická knihovna wxWidgets Bc. Vojtěch Kusý 128PGC3 - Počítačová grafika a CAD ČVUT v Praze, Fakulta stavební
2
Základní charakteristika „Windows and X widgets“, dříve známý jako wxWindows) free software/open source multiplatformní widget toolkit = knihovna základních elementů pro tvorbu grafického uživatelského rozhraní (GUI) + něco navíc
3
Stručná historie wxWidgets (tehdy ještě jako wxWindows) se vyvájejí již od roku 1992 projekt založil Julian Smart, během svého působení na University of Edinburgh Julian Smart se dodnes podílí na vývoji jádra 20. února 2004 změněn název z wxWindows na wxWidgets, jako výsledek tlaku Microsoftu (ochranná známka Windows® ve VB)
4
Podporované platformy wxWidgets je multiplatformní: MS Windows Linux Unix, BSD Mac OS X PalmPC/Pocket PC OpenVMS OS/2.
5
Podporované jazyky - „Bindings“ C++ implicitně wxAda xBasic wxD wxErlang wxEuphoria wxHaskell wxJava jwx! (také Java) wxJavaScript wxLua wxMax wxNet wxPerl wxPike wxPython wxRuby wxSqueak
6
Nejen multiplatformní GUI... wxWidgets aplikace musí být schopné běhu na různých platformách a to se netýká pouze GUI wxWidgets poskytuje i třídy pro práci se soubory s proudy více vlákny nastavením aplikace pro komunikaci mezi procesy přístup k databázi a mnoho dalšího...
7
Proč? J. Smart hledal GUI knihovnu která by splňovala následující... 1.crossplatform 2.nízká cena 3.mít k dispozici zdrojový kód 4.snadné programování 5.podpora široké škály kompilátorů a i když existovalo několik komerčních knihoven, žádné se nepodařilo splnit všechna kriteria...
8
Proč použít wxWidgets? 1/2 Je primárně multiplatformní aplikaci lze přeložit pro různé platformy s žádnými nebo jen minimálními změnami v kódu aplikace je nezávislá na platformě, kód lze kdykoliv přenést na jinou platformu pokud nabídne lepší podporu pro naši aplikaci nemusíme se učit používat různé grafické knihovny na různých platformách
9
Proč použít wxWidgets? 2/2 Poskytuje nativní vzhled a chování na dané platformě lepší pro uživatele aplikace je nezávislá na platformě, kód lze kdykoliv přenést na jinou platformu pokud nabídne lepší podporu pro naši aplikaci nemusíme se učit používat různé grafické knihovny na různých platformách
10
Zdrojový kód a licence licence je další výhodou této knihovny L-GPL s dovětkem, tj knihovnu lze použít bez omezení pro free software i pro komerční software otevřený zdrojový kód zdarma
11
Architektura wxWidgets
12
Přehled tříd 1/3 Managed windows Miscellaneous windows Common dialogs Controls Miscellaneous pickers Menus wxAUI - advanced user interface Window layout Device contexts Graphics device interface Events Validators Data structures Run-time class information system
13
Přehled tříd 2/3 Logging features Debugging features Networking classes Interprocess communication Document/view framework Printing framework Drag and drop and clipboard classes File related classes Stream classes Threading classes HTML classes Rich text classes Virtual file system classes
14
Přehled tříd 3/3 XML classes XML-based resource system classes Online help Database classes Miscellaneous
15
wxCode: když nám wxW. nestačí
16
Sestavení od verze 2.5 může být wxWidgets sestavena jako - soubor jednotlivých knihoven, tzv. multilib build - jako jediná knihovna, tzv. monolithic build
17
Návrh
18
Výsledek
19
RAD pro wxWidgets Boa Constructor (Python) wxGlade wxFormBuilder Code::Blocks (via wxSmith plugin) nebo integrace s wxFB CodeLite (vygeneruje wxW. projekt) wxDev-C++ podporu wxWidgets lze doinstalovat i do MS VS
20
wxFormBuilder
21
na základě navrženého rozhraní vygeneruje odpovídající kód uložení formátech C++ (.cpp soubory) nebo XRC (XML dokument) multiplatformní: Windows (2000, XP, and Vista) Linux MacOSX (Mac Universal (PPC/x86)) web: http://wxformbuilder.orghttp://wxformbuilder.org
22
Aplikace ve wxWidgets BitTorrent FileZilla (open source FTP solution) TortoiseCVS (CVS GUI) Audacity (free cross-platform sound editor) Code::Blocks (open source C++ IDE Chandler (note organizer) RapidSVN (Subversion GUI) wxDownload Fast...
23
Symlab: Windows
24
Symlab: Linux
25
poEdit
26
Audacity: Windows
27
Audacity: Linux
28
Audacity: Mac
29
Kniha o wxWidgets zdarma Cross-Platform GUI Programming with wxWidgets autoři: Julian Smart, Kevin Hock, Stefan Csomor počet stran: 744 (!) velmi dobře napsané, pokryté kompletní API včetně příkladů a popsání rozdílů mezi platformami ke stažení např. z knihovny Root.cz http://knihy.root.cz http://knihy.root.cz
30
Český překlad knihy český dobrovolnický překlad knihy formou „wiki“ na stránkách http://www.wxwidgets.hustej.nethttp://www.wxwidgets.hustej.net zatím přeloženo jen necelá stovka z 800 stránek
31
Zdroje http://www.wxwidgets.org/docs/ http://en.wikipedia.org/wiki/WxWidgets http://cs.wikipedia.org/wiki/WxWidgets kniha (e-book) Cross-Platform GUI Programming with wxWidgets
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.