Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные материалы.pdf
Скачиваний:
3
Добавлен:
07.06.2025
Размер:
12.29 Mб
Скачать

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ОБЪЕКТНАЯ МОДЕЛЬ QT

Qt добавляет к C++ следующие возможности:

Механизм для взаимодействия объектов – сигналы и слоты

Сойства объектов

События и фильтры событий

Контекстный перевод строк для интернационализации

doc.qt.io/qt-5/qobject.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

РАСШИРЕНИЕ C++ КЛАССОВ

 

#include <QObject>

class Counter

class Counter : public QObject

{

{

 

Q_OBJECT

 

Q_PROPERTY (int value READ value

 

WRITE setValue NOTIFY valueChanged)

public:

public:

Counter() { m_value = 0; }

Counter() { m_value = 0; }

int value() const { return m_value; }

int value() const { return m_value; }

 

public slots:

void setValue(int value);

void setValue(int value);

 

signals:

 

void valueChanged(int newValue);

private:

private:

int m_value;

int m_value;

};

};

 

doc.qt.io/qt-5/qobject.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

СТРУКТУРА ОБЪЯВЛЕНИЯ КЛАССА

#include <QObject>

class ClassName : public QObject

{

Q_OBJECT // enable Qt's meta-object system

// or Q_GADGET if no need in signals and slots

// declaration of properties public:

explicit ClassName(QObject *parent = nullptr);

// public methods, fields and types

signals:

// declared like methods but to be connected public slots:

// public methods to connect to

private:

// private methods, fields and types private slots:

// private methods to connect to

};

doc.qt.io/qt-5/qobject.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

МЕТАОБЪЕКТНАЯ СИСТЕМА QT

QObject является базовым классом для объектов, которые могут воспользоваться мета-объектной системой

Макрос Q_OBJECT используется для включения возможностей мета-объектов

»Динамические свойства

»Сигналы и слоты

Мета-объектный компилятор moc предоставляет каждому подклассу Qobject необходимый код для реализации мета-объектных возможностей

doc.qt.io/qt-5/metaobjects.html