Эта страница показывает, как вызывать функции C ++ из QML.
Что я хочу сделать, это изменить изображение кнопки с помощью функции C ++ (вызвать изменение состояния илиоднако это сделано).
Как мне этого добиться?
ОБНОВЛЕНИЕ
Я попробовал подход Радона, но сразу, когда вставляю этострока:
QObject *test = dynamic_cast<QObject *>(viewer.rootObject());
Компилятор жалуется так:
error: cannot dynamic_cast '((QMLCppBinder*)this)->QMLCppBinder::viewer.QDeclarativeView::rootObject()' (of type 'struct QGraphicsObject*') to type 'class QObject*' (source is a pointer to incomplete type)
В случае необходимости QMLCppBinder - это класс, который я пытаюсь построить для инкапсуляции соединений из нескольких страниц QML с C ++.код.Что кажется более хитрым, чем можно было бы ожидать.
Вот класс-скелет, который дает некоторый контекст для этого:
class QMLCppBinder : public QObject
{
Q_OBJECT
public:
QDeclarativeView viewer;
QMLCppBinder() {
viewer.setSource(QUrl("qml/Connect/main.qml"));
viewer.showFullScreen();
// ERROR
QObject *test = dynamic_cast<QObject *>(viewer.rootObject());
}
}