На этом шаге рассмотрим объектную модель Qt.
Объектная модель Qt подразумевает, что все построено на объектах. Фактически, класс QObject — основной, базовый класс. Подавляющее большинство классов Qt являются его наследниками. Классы, имеющие сигналы и слоты, должны быть унаследованы от этого класса.
ПРИМЕЧАНИЕ.
При множественном наследовании важно помнить:
- что при определении класса имя класса QObject (или унаследованного от него) должно стоять первым, чтобы MOC (Meta Object Compiler, метаобъектный компилятор) мог правильно распознать его. Другой порядок приведет к ошибке при компиляции. В примере приведен правильный порядок для множественного наследования.
class MyClass : public QObject, public AnotherClass { ... };
- что от класса QObject должен быть унаследован только один из базовых классов. Другими словами, нельзя производить наследование сразу от нескольких классов, наследующих класс QObject.
Класс QObject содержит в себе поддержку (для получения более подробной информации наведите курсор на компонент):
- cигналов и слотов (signal/slot);
- таймера;
- механизма объединения объектов в иерархии;
- событий и механизма их фильтрации;
- организации объектных иерархий;
- метаобъектной информации;
- (), базирующуюся на метаинформации, создаваемой метаобъектным компилятором MOC, для классов, унаследованных от QObject">приведения типов;
- свойств.
На следующем шаге рассмотрим определение свойств объектов.
Предыдущий шаг
Содержание
Следующий шаг