Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 2.6.2010
Osnova 1 Úvod 2 Seznámení s Qt4 3 Prost edí QtCreator 4 Vyuºití v praxi
Problém Aplikace pro ovládání realtime PCR za ízení Pot eba komunikovat se za ízením v reálném ase Poºadavek kompatibility s r znými platformami Pot eba grackého uºivatelského rozhraní Zvaºované alternativy programovacího prost edí C++ Java
Motivace Pro C++ Rychlost Nepot ebuje b hové prost edí Problémy C++ Nemá GUI Absence jediného p edka Nemá reexi
Co to je Qt4 QtCore Qt3 Support QtOpengl QtGui Qt4 QtSvg QtSql QtNetwork QtXml Multiplatformní framework Nástroj pro snadnou tvorbu GUI Roz²í ení objektového modelu C++ Nahrazuje a roz²i uje standardní knihovnu
GUI v Qt4 Data Poskytuje základní ovládací prvky (MFC, Swing) Model View Podpora akcelerovaného vykreslování Editace Model Editace Delegát1 Delegát2 Zobrazení Zobrazení View1 View2 Obrázek: Schématický obrázek MVC
QObject Základní pilí MOS Potomk m zp ístupn na reexe Instancím potomk jsou zp ístupn ny signály a sloty Neve ejný kopírovací konstruktor
Objektový model Qt4 Meta Object System (MOS) Umoº uje reexi Umoº uje zasílání zpráv mezi objekty (signály a sloty) Meta Object Compiler (MOC) Preprocesor Generuje metadata pro t ídy MOS
Signály a sloty Zaji² ují komunikaci mezi objekty Vztah m : n Musí se shodovat v typu parametr a jejich po tu Hojn vyuºívány v GUI (implementace vzoru Observer)
Inicializace signál a slot 1. 2. 3. connect(combobox, SINGAL(activated(int)), mojeinstance, SLOT(zpracujPoložku(int))); 4. Obrázek: Schématický obrázek inicializace signál a slot
Pouºití signál a slot Sekvenční diagram: Diagram komunikace: Obrázek: UML2 diagramy pro pouºití signál a slot
Qt4 jako alternativa k STL Nahrazení stávajících datových typ Kontejnerové datové typy (QVector, QList, QMap,... ) et zce (QString) Lokalizace, datum a as (QLocale, QDateTime,... ) Nové datové typy Vlákna (QThread, QThreadPool,... ) SQL (QSqlDriver, QSqlQuery,... ) XML (QXmlReader, QXmlStreamWriter,... )
Informace o Qt-Creatoru Odleh ené, p ehledné uºivatelské rozhraní Roz²i ovatelný pomocí plugin Integrovaný Qt-Designer Nápov da s celou adou p íklad
Qt-Creator a Qt-Designer Obrázek: Prost edí Qt-Creator s integrovaným návrhá em Qt-Designer
Tv rci a licence Tv rci Trolltech Nokia QT software Licence GPL Komer ní LGPL
Na²e pouºití Obrázek: Aplikace pro testování komunikace se za ízením
Dal²í moºnosti vyuºití Qt4 Tvorba grackého rozhraní pro C++ aplikace Tvorba grackých aplikací, vyuºívajících hardwarovou akceleraci Tvorba vícevláknových a multiplatformních aplikací v C++ Tvorba aplikací interagujících s prost edím KDE4
D kujeme za pozornost Obrázek: Funk ní GUI ve 3D scén (p evzato z labs.trolltech.com)