在qt main.cpp中为与qml通信而强制转换rootobject()时出错 我是QT快的新手,我尝试编写一个代码,在QML信号上调用C++插槽 //main.cpp #include "qtquick1applicationviewer.h" #include "QApplication" #include"authenticate.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QDeclarativeView view(QUrl::fromLocalFile("MyItem.qml")); QObject *item = view.rootObject(); Authenticate myClass; QObject::connect(item, SIGNAL(qmlSignal(QString)), &myClass, SLOT(cppSlot(QString))); view.show(); return app.exec(); }
错误是: main.cpp:15:错误:无法在初始化中将“QGraphicsObject*”转换为“QObject*” QObject*item=viewer.rootObject()在qt main.cpp中为与qml通信而强制转换rootobject()时出错 我是QT快的新手,我尝试编写一个代码,在QML信号上调用C++插槽 //main.cpp #include "qtquick1applicationviewer.h" #include "QApplication" #include"authenticate.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QDeclarativeView view(QUrl::fromLocalFile("MyItem.qml")); QObject *item = view.rootObject(); Authenticate myClass; QObject::connect(item, SIGNAL(qmlSignal(QString)), &myClass, SLOT(cppSlot(QString))); view.show(); return app.exec(); },c++,qt,qt-quick,C++,Qt,Qt Quick,错误是: main.cpp:15:错误:无法在初始化中将“QGraphicsObject*”转换为“QObject*” QObject*item=viewer.rootObject() 您应该显式强制转换到QObject*: QObject *item = qobject_cast< QObject * >( view.rootObject() ); QObject *item = qobject_cast< QObject * >( view.rootObject()
您应该显式强制转换到
QObject*
:
QObject *item = qobject_cast< QObject * >( view.rootObject() );
QObject *item = qobject_cast< QObject * >( view.rootObject() );
#include <QGraphicsObject>