Russian Qt Forum
Ноябрь 25, 2024, 00:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: JSON хранение полученных данных  (Прочитано 3299 раз)
Nerfair
Гость
« : Июль 24, 2012, 21:07 »

Добрый день, нужно вывести получаемые от сервера цитаты в программу, с возможностью переключаться кнопкой на след цитату.

И так, что умею:

Получать от сервера ответ по POST запросу.

Код:
{ "error" : 0, "quotes" : [ { "id" : 1, "text" : "Цитата 1"}, { "id" : 2, "text" : "Цитата 2"}, { "id" : 3, "text" : "Цитата 3"} ] }

Грузить его в переменную:

Код:
var result = JSON.parse(xhr.responseText);

И выводить через JavaScript функцию в Text

Код:
loadQuote(result["quotes"]);
Код:
function loadQuote(quotes) {
quoteText.text = quotes[0]["text"]
}

где
Код:
Text {
id: quoteText;
font.pixelSize: 14
text: ""
color: "#FFF";

Есть вопрос, тут я вывел первую цитату, а как сделать переключение на след цитату? Для этого нужно где то хранить весь вывод цитат с сервера, в каком то массиве, что бы по клику можно было загружать quote[+1]["text"] самописной функцией, допустим onClicked: loadNextQuote(id), где id каждый раз след. значение,  но эта функция как раз и должна брать откуда то данные, а я все не пойму как в Qt это все провернуть. Я читал про глобальные переменные, не вышло, залез в Scope, вылез ибо лес. Возможно кто то сталкивался с похожей проблемой.
« Последнее редактирование: Июль 24, 2012, 21:17 от Nerfair » Записан
mutineer
Гость
« Ответ #1 : Июль 24, 2012, 22:00 »

Ты бы хоть написал что тебе в QML это надо. Делаешь у корневого объекта property, в который записываешь свое quotes
Записан
Nerfair
Гость
« Ответ #2 : Июль 25, 2012, 10:08 »

Ты бы хоть написал что тебе в QML это надо. Делаешь у корневого объекта property, в который записываешь свое quotes
Cannot assign QVariantList to QString
Записан
mutineer
Гость
« Ответ #3 : Июль 25, 2012, 10:11 »

щас буду гадать по посту.
Наверно ты объявил проперти стринговым? Если да, то зачем, если собираешься в нем список хранить?
Записан
Nerfair
Гость
« Ответ #4 : Июль 25, 2012, 10:13 »

щас буду гадать по посту.
Наверно ты объявил проперти стринговым? Если да, то зачем, если собираешься в нем список хранить?

Прав, помоги пожалуйста, как его еще объявить? Знаю int, bool, string и сейчас поищу другие.

Нашел http://doc.qt.nokia.com/4.7-snapshot/qdeclarativebasictypes.html

Сейчас попробую выбрать.
Записан
mutineer
Гость
« Ответ #5 : Июль 25, 2012, 10:16 »

Есть еще Object и Array должен быть
а если типы выше не подойдут, то спасет variant
« Последнее редактирование: Июль 25, 2012, 10:23 от mutineer » Записан
Nerfair
Гость
« Ответ #6 : Июль 25, 2012, 10:49 »

Есть еще Object и Array должен быть
а если типы выше не подойдут, то спасет variant

    property variant questionsArray: "";

Помог, спасибо  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.23 секунд. Запросов: 20.