next up previous contents
Next: Hlavní koncepce implementace jednotlivých Up: Implementace Previous: Implementace

Vlastnosti použité knihovny

Knihovna Qt poskytuje framework pro vývoj aplikací s grafickým uživatelským rozhraním v C++. K objektovému modelu C++ umožňujícímu efektivní implementaci aplikace přidává objektový model Qt větší flexibilitu při implementaci grafického uživatelského rozhraní. Základním prvkem tohoto modelu je podpora komunikace mezi objekty prostřednictvím tzv. signálů a slotů [].

Signály a sloty lze chápat jako speciální metody třídy. Signály i sloty jsou deklarovány názvem funkce a typem parametru klasickým způsobem v rozhraní třídy, na rozdíl od ostatních metod mohou mít jen jeden parametr, který odpovídá svým typem typu hodnoty předávané při komunikaci. Signály jsou jen definovaným jménem, které je součástí rozhraní třídy, zatímco sloty odpovídají plnohodnotným metodám. Signály lze emitovat příkazem emit kdekoliv v metodách třídy. Je-li signál při emitaci napojen na typově kompatibilní slot, provede se tělo tohoto slotu. Objekty lze prostřednictvím signálů a slotů dynamicky propojovat v době běhu aplikace.

Dalšími vlastnostmi Qt jsou podpora zpracování externích (vyvolaných uživatelem) a interních (vyvolaných ostatními objekty) událostí a možnost dynamicky zjišťovat datové typy objektů za běhu aplikace. Tyto mechanismy rozšiřují syntaxi C++, kompilace programů využívajících těchto rozšíření vyžaduje speciální preprocesor (Meta Object Compiler).



David Safranek
Fri Apr 6 23:53:25 MET DST 2001