BlackBerry 10开发 - TextField

时间:2013-08-27 05:40:04

标签: c++ blackberry-10

伙计我正在开发BlackBerry 10中的基本应用程序,我想获取TextField中的文本(在cpp中)。我试图找到方法,但没有得到正确的。所以任何人都可以请告诉我如何从cpp中获取TextField的值(不是在qml中)???

2 个答案:

答案 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);