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非常感謝你。有用 ! –