伙计我正在开发BlackBerry 10中的基本应用程序,我想获取TextField中的文本(在cpp中)。我试图找到方法,但没有得到正确的。所以任何人都可以请告诉我如何从cpp中获取TextField的值(不是在qml中)???
答案 0 :(得分:3)
那么,您需要做的第一件事就是将QML TextField暴露给C ++。这是通过对象名称属性ala:
完成的TextField {
objectName: "myTextField"
...
}
接下来,从C ++中找到这个孩子:
QmlDocument *qml = QmlDocument::create("asset:///my.qml");
Container *root = qml->createRootObject<bb::cascades::Container>(); //or whatever the root control is
TextField *textField = root->findChild<TextField*>("myTextField");
从那时起,只需使用textField-&gt; text()。
答案 1 :(得分:0)
我们在这个问题上有3个部分
首先在Qml中你的文本区域和底部点击时发送文本区域以在c ++中运行
TextField {
id: n2
}
Button {
id: button
text: "send text"
onClicked: {
app.sendtext(n2.text)
}
第二部分你的ApplicationUI中的c ++函数接收这个文本
QString ApplicationUI::sendtext(QString txtarea)
{
QString text = txtarea;
return text;
}
ApplicationUI.h中的第三部分也是最后部分你必须使这个函数能够在Qml
中访问它所以你需要这一行
Q_INVOKABLE QString sendtext(QString txtarea);