1

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

4

2 回答 2

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->text()。

于 2013-08-28T13:14:38.760 回答
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.hu 中的第三部分和最后一部分必须使此函数可调用才能在 Qml 中访问它

所以你需要这条线

Q_INVOKABLE QString sendtext(QString txtarea);
于 2013-08-28T08:40:51.210 回答