Задать вопрос
@sinoptis

Кастомные контролы Qt. Как создать свойства?

Хочу создать кастомную кнопку, у которой будет дополнительное поле digit.
digitbutton.h
#ifndef DIGITBUTTON_H
#define DIGITBUTTON_H

#include <QPushButton>

class DigitButton : public QPushButton
{
    Q_OBJECT
    Q_PROPERTY(int digit MEMBER m_digit)

public:
    DigitButton(QWidget *parent = nullptr);
private:
    int m_digit;
};

#endif // DIGITBUTTON_H


digitbuttob.cpp
#include "digitbutton.h"

DigitButton::DigitButton(QWidget *parent) : QPushButton (parent)
{

}

В дизайнере свойство не отображается, он не видит просто этот класс
5c01891048aa6982516428.png
  • Вопрос задан
  • 194 просмотра
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vass
@Vass
C++/Qt Developer
Чтобы ваш класс появился в дизайнере нужно написать плагин для дизайнера, который будет его там отображать.
В документации Qt все довольно таки подробно расписано.
Начать можно с этого примера doc.qt.io/qt-5/qtdesigner-customwidgetplugin-examp...
ну и походить по ссылкам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы