Dhiraj Nangare
Dhiraj Nangare

Reputation: 59

BlackBerry 10 development- TextField

Guys I am developing the basic app in BlackBerry 10 and I want to get text which is in TextField (in cpp). I am trying to find method for that but not getting the right one .So can anyone please tell me how to get the value from TextField in cpp (not in qml) ???

Upvotes: 1

Views: 470

Answers (2)

Konrad Lindenbach
Konrad Lindenbach

Reputation: 4961

Well, the first thing you need to do is expose your QML TextField to C++. This is done with an object name property ala:

TextField {
    objectName: "myTextField"
    ...
}

Next, find this child from your 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");

From then on, simply use textField->text().

Upvotes: 3

AlaaRamadan
AlaaRamadan

Reputation: 46

We have 3 parts in this problem

First on in Qml your text area and bottom when clicked send text area to function in c++

TextField {
               id: n2
            }
  Button {
            id: button

            text: "send text"
            onClicked: {
               app.sendtext(n2.text)
            }

Second part your c++ function in your ApplicationUI to receive this text

 QString ApplicationUI::sendtext(QString txtarea)
  {
     QString text = txtarea;
     return text;
  }

Third and final part in your ApplicationUI.h u must make this function INVOKABLE to access it in Qml

so u will need this line

Q_INVOKABLE QString sendtext(QString txtarea);

Upvotes: 0

Related Questions