Qt:Документация 4.3.2/object
Материал из Wiki.crossplatform.ru
Внимание: Актуальная версия перевода документации находится здесь |
__NOTOC__
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции |
Qt Object Model
The standard C++ object model provides very efficient runtime support for the object paradigm. But its static nature is inflexibile in certain problem domains. Graphical user interface programming is a domain that requires both runtime efficiency and a high level of flexibility. Qt provides this, by combining the speed of C++ with the flexibility of the Qt Object Model.
Qt adds these features to C++:
- a very powerful mechanism for seamless object communication called signals and slots
- queryable and designable object properties
- powerful events and event filters
- contextual string translation for internationalization
- sophisticated interval driven timers that make it possible to elegantly integrate many tasks in an event-driven GUI
- hierarchical and queryable object trees that organize object ownership in a natural way
- guarded pointers ( QPointer) that are automatically set to 0 when the referenced object is destroyed, unlike normal C++ pointers which become dangling pointers when their objects are destroyed
- a dynamic cast that works across library boundaries.
Many of these Qt features are implemented with standard C++ techniques, based on inheritance from QObject. Others, like the object communication mechanism and the dynamic property system, require the Meta-Object System provided by Qt's own Meta-Object Compiler (moc).
The meta-object system is a C++ extension that makes the language better suited to true component GUI programming. Although templates can be used to extend C++, the meta-object system provides benefits using standard C++ that cannot be achieved with templates; see Why Doesn't Qt Use Templates for Сигналы and Slots?
Copyright © 2007 Trolltech | Trademarks | Qt 4.3.2
|