3
아래의 C++ 코드에서 qml 파일을로드합니다. 하지만 C++ 슬롯이 작동하지 않습니다. 오류 또는 경고는 발생하지 않지만 디버그 메시지는 항상 "a"문자입니다. "b"문자가 나타나지 않습니다. 왠지 말해줘? 감사.qml C++ 신호 슬롯이 작동하지 않습니다.
C++ 측 코드
::::::::::::::
view=new QDeclarativeView;
view->setSource(QUrl("qml/groundMenu/Ground.qml"));
rootObject = dynamic_cast<QObject*>(view->rootObject());
QObject::connect(rootObject, SIGNAL(qmlSignal()),this, SLOT(qmlLoadedProcess()));
:::::::::::::::::
void MainWindow::qmlLoadedProcess()
{
qDebug()<<"b";
}
//qml side code
Rectangle
{
signal qmlSignal()
Component.onCompleted:
{
qmlSignal()
console.log("a")
}
}
감사합니다. 그러나 어떻게 이것을 할 수 있습니까? qml 파일이로드되면 신호가 필요합니다. 제발 말해 줄래? –
** setSource를 호출하기 전에 [void QDeclarativeView :: statusChanged (QDeclarativeView :: Status status)] (http://doc.qt.digia.com/qt/qdeclarativeview.html#statusChanged) 신호에 연결을 시도 할 수 있습니다() ** – JuliusG
JuliusG 대단히 감사합니다. 그것은 작동합니다! –