Ребята Я разрабатываю базовое приложение в BlackBerry 10 и хочу получить текст, который находится в TextField (в cpp). Я пытаюсь найти метод для этого, но не получить правильный. Может кто-нибудь, пожалуйста, скажите мне, как получить значение из TextField в cpp (не в qml) ???Разработка BlackBerry 10 TextField
ответ
У нас есть 3 части этой проблемы
сначала на в QML текст область и низ при нажатии отправить текстовое поле для работы в C++ функция
Второй части ваших C++
TextField {
id: n2
}
Button {
id: button
text: "send text"
onClicked: {
app.sendtext(n2.text)
}
в вашем ApplicationUI получить этот текст
QString ApplicationUI::sendtext(QString txtarea)
{
QString text = txtarea;
return text;
}
Третья и заключительная часть в вашем ApplicationUI.hu должны сделать эту функцию INVOKABLE, чтобы получить доступ к нему в QML
так и будет нужна эта линия
Q_INVOKABLE QString sendtext(QString txtarea);
Большое вам спасибо. Я пробовал это и его работу .... –
Ну, первое, что вам нужно сделать, это подвергать QML TextField на C++. Это делается с помощью объекта имя свойства ала:
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-> текст().
большое вам спасибо. Я пробовал это и его работу ... –
'TextField' наследует от' AbstractTextControl', который имеет метод 'const QString text()', который _ «Возвращает текущий текст для элемента управления». _ – Michael