C++ 如何从C++;在QtQuick 2.0中
假设我们有一个非常简单的QML文件,如下所示: QML文件与QtQuick2ApplicationViewer助手类一起加载,如下所示:C++ 如何从C++;在QtQuick 2.0中,c++,qt,qml,qt-quick,qt5,C++,Qt,Qml,Qt Quick,Qt5,假设我们有一个非常简单的QML文件,如下所示: QML文件与QtQuick2ApplicationViewer助手类一起加载,如下所示: QtQuick2ApplicationViewer viewer; viewer.setMainQmlFile(QStringLiteral("qml/MyApp/Login/Window.qml")); viewer.showFullScreen(); 我应该如何进行,例如,我想把矩形的颜色改为白色,从C++。我的猜测是: QQuickItem *win
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/MyApp/Login/Window.qml"));
viewer.showFullScreen();
我应该如何进行,例如,我想把矩形的颜色改为白色,从C++。我的猜测是:
QQuickItem *window = viewer.rootObject();
window->setProperty("color", "#fff");
但这只会导致以下编译器错误:
invalid use of incomplete type 'struct QQuickItem'
forward declaration of 'struct QQuickItem'
然后QQuickItem在您包含的标题中的某个地方被向前声明,但不是完全限定的。更多信息。然后QQuickItem在您包含的标题中的某个位置被转发声明,但没有完全限定。更多信息。您是否包括QQuickItem?@LucaCarlon:D非常感谢。想不到。你把QQuickItem包括进去了吗?@LucaCarlon:D谢谢。从来没有想到过。
QObject *rootObject = (QObject *)viewer.rootObject();
rootObject->setProperty("color", "red");
QObject *rootObject = (QObject *)viewer.rootObject();
rootObject->setProperty("color", "red");