08-08-2012 06:23 AM
I'm trying to set the text of a TextArea from C++, but it the page is going plain dark ( splash) with no error messages in the logs.
I have tried it in both simulator and Dev Alpha device and same thing happend.
QmlDocument *qml = QmlDocument::create("logger.qml");
AbstractPane *root = qml->createRootNode<AbstractPane>();
txtArea = root->findChild<QObject*>("txtName");
// QString temp="";//txtArea->text();
// temp.append("Text:");
txtArea->setProperty("text", "Text:");
qDebug() << "JSON data loaded OK!";
Application::setScene(root);
}
If i comment the 'setProperty' line, the empty text area comes just fine.
As you would notice I tried the setText too, but that also failed.
Solved! Go to Solution.
08-08-2012 09:16 AM - edited 08-08-2012 09:38 AM
Use TextArea* instead of QObject* in findChild<TextArea*>("textAreaObjectName");
08-08-2012 11:32 AM
I changed a sample I have that uses a TextArea to use a QString instead, commenting out all TextArea methods and just doing your setProperty line. This worked fine for me. I also tried just changing the findChild to findChild<QObject*>. When my variable is a TextArea*, this gives a syntax error unless I do:
dynamic_cast<TextArea*>(m_mainPage->findChild<QOb
So if the previous suggestion is not enough, change your txtArea variable to a TextArea* and check that the findChild actually returns something.
Stuart
08-16-2012 11:23 AM
Did you make any progress on this?
(If so please mark a post as solution -- even if it's yours (please briefly indicate what your solution was in this case)
Stuart