я наверное
не правильно выразился
qmlRegisterType есть
C++ (Qt)
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
qmlRegisterType<ExchangeColor>("com.mycompany.qmlcomponents",1,0,"ExchangeColor");
QQmlApplicationEngine engine;
engine.load(QUrl(QLatin1String("qrc:/main.qml")));
return app.exec();
}
Я имел ввиду , что не могу создать свойство через Q_PROPERTY.
Пытаюсь сделать так
C++ (Qt)
...
Q_PROPERTY(QString current READ current)
public:
explicit ExchangeColor(QObject *parent = 0);
virtual ~ExchangeColor();
QString current() const {return current;}
...
Не получается
Ошибка:
In file included from ..\MyQMLProj\main.cpp:5:0:
..\MyQMLProj\exchangecolor.h: In member function 'QString ExchangeColor::current() const':
..\MyQMLProj\exchangecolor.h:21:37: error: cannot convert 'ExchangeColor::current' from type 'QString (ExchangeColor::)() const' to type 'QString'
QString current() const {return current;}
Только если так делать
C++ (Qt)
...
Q_PROPERTY(QString current READ getCurrent)
private:
QString current;
public:
explicit ExchangeColor(QObject *parent = 0);
virtual ~ExchangeColor();
QString geCurrent() const { return current; }
...
но тогда он все равно не видет проперти current в QML
...
ExchangeColor{
id: exchColor
current: redrect.color ->???
}