I have a main.qml with a MainPage.qml inserted through:
initialPage: MainPage {tools: toolBarLayout}
because I choose to make it for Symbian. When i try:
QObject *mainPage = rootObject->findChild<QObject*>("MainPage");
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
the message doesn't come through but there are no errors, I have also tried connecting a SIGNAL to a SLOT on MainPage with the "if (mainPage)" but it also has no response. I have managed to get a signal through to main though but when I try:
function changeNum(num)
{
MainPage.changeNum(num)
}
The function never gets executed because I don't get a message from console.log at all unlike I do when the function on main runs. I also know the other methods didn't work because the also didn't log a message or execute the rest of their function.
I think the problem might lie in MainPage not being created as an element with a id. Do you know what might be causing this?
findChild
doesn't look for the id
but the objectName
property which you can simply add inside the MainPage
object (see the documentation):
initialPage: MainPage {
objectName: "MainPage"
tools: toolBarLayout
}
You could also access that object through the initialPage
property of the rootObject
without the need to add a objectName
property:
QObject * mainPage = QDeclarativeProperty(rootObject, "initialPage").object();
if (mainPage)
QDeclarativeProperty(mainPage, "toets").write(3);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With