Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Базовый класс QObject

From Wiki
Jump to: navigation, search
Article Metadata

Совместимость
Платформа(ы):
Symbian

Статья
Автор: Den123 (17 Jan 2009)
Последнее редактирование: hamishwillee (11 Oct 2012)

Фундамент Qt - это объектно-ориентированная модель. Абсолютное большинство классов - это наследники QObject. Данный базовый класс содержит поддержку основополагающих механизмов, которые активно используются потомками:


Внимание ! Использования QObject (или его потомка) в качестве предка при организации множественного наследования предполагает два ограничения:

  • в перечне предков QObject (или его потомок) должен быть объявлен первым
  • только один из предков может быть наследником QObject


Настоятельно рекомендуется использовать макрос Q_OBJECT при объявлении потомков QObject даже в том случае, если механизм сигналов и слотов использоваться не будет. Данный макрос используется метаобъектным компилятором для определения классов, которые нужно "дополнить" необходимым функционалом.


Объекты класса QObject (или его потомков) нельзя непосредственно копировать или передавать как значения так как это противоречит многим ключевых особенностям (иерархические структуры, привязка сигналов/слотов и т.д.). Конструктор копии и оператор присваивания QObject объявлены пустыми с помощью макроса Q_DISABLE_COPY(определен в файле qglobal.h) в секции private для предотвращения их использования или неявного создания компилятором. При создании собственных потомков QObject (или его наследников) следует также придерживаться этого правила:

class MyClass : public QObject
{
Q_OBJECT
 
...
private:
Q_DISABLE_COPY(MyClass)
};
This page was last modified on 11 October 2012, at 01:19.
287 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×