コードで qml-grid ビューを使用しようとしています。私はそれを私のC++コードと結合しようとしています。リスト ビュー モデルを動的に作成し、qml ファイルに渡しました。それは正常に動作します。しかし、Qml シグナルを Qt/c++ コードに接続したいときに問題に直面しています。Qml-rectangle で mouseArea を処理し、そこから信号を発信しました。
次のように信号に接続しようとしています:
QDeclarativeView *pQMLContainer = NULL;
TempWidget *pTemp = new TempWidget();
pQMLContainer = new QDeclarativeView(pTemp);
pQMLContainer->setResizeMode(QDeclarativeView::SizeRootObjectToView);
pQMLContainer->rootContext()->setContextProperty("imgModel", createModel() );
pQMLContainer->setSource(QUrl("../Temp/qml/gridview-example.qml"));
QObject *rootObject = dynamic_cast<QObject*>pQMLContainer->rootObject();
QObject::connect(rootObject, SIGNAL(keyPressed()), pTemp, SLOT(onKeyPressed()));
connect ステートメントを実行すると、「null オブジェクトに接続できません」というエラーが表示されます。デバッグ中に、「rootObject」を有効なポインターとして取得できないことがわかりました。どこが間違っていますか?
ありがとう