Михаиллл
4 августа 2019 г. 12:23

Как в QML использовать XmlListModel ?

Добрый день.
Как в QML использовать XmlListModel ?
Сделал такой код, но он ничего не показывает на дисплее.
appCore.testXml() - возвражает XML код.

  1. import QtQuick 2.12
  2. import QtQuick.XmlListModel 2.12
  3. import QtQuick.Controls 2.12
  4.  
  5. Item {
  6. width: 400
  7. height: 700
  8.  
  9. XmlListModel {
  10. id: xmlModel
  11.  
  12. source: appCore.testXml()//"http://www.mysite.com/feed.xml"
  13. //query: "/rss/channel/item"
  14.  
  15. // XmlRole { name: "title"; query: "title/string()" }
  16. // XmlRole { name: "pubDate"; query: "pubDate/string()" }
  17. }
  18.  
  19. ListView {
  20. id: testListView
  21. anchors.fill: parent
  22. model: xmlModel
  23. delegate: Text { text: "testListView: " }
  24. }
  25. }
2

Вам это нравится? Поделитесь в социальных сетях!

4
Evgenii Legotckoi
  • 7 августа 2019 г. 0:15
  • Ответ был помечен как решение.

Добрый день.

Вот такой код работает

  1. import QtQuick 2.12
  2. import QtQuick.Window 2.12
  3. import QtQuick.XmlListModel 2.0
  4.  
  5. Window {
  6. visible: true
  7. width: 640
  8. height: 480
  9. title: qsTr("Hello World")
  10.  
  11. XmlListModel {
  12. id: xmlModel
  13. source: "https://evileg.com/ru/feed/"
  14. query: "/rss/channel/item"
  15.  
  16. XmlRole { name: "title"; query: "title/string()" }
  17. XmlRole { name: "pubDate"; query: "pubDate/string()" }
  18. }
  19.  
  20. ListView {
  21. anchors.fill: parent
  22. model: xmlModel
  23. delegate: Text { text: title + ": " + pubDate }
  24. }
  25. }

Касательно вашего кода, нужен пример того, что возвращает ваш метод appCore.testXml() . Предполагаю, что у вас просто не правильно определена структура полей, которые вы пытаетесь извлекать. Можете привести то, что возвращает данный метод?

    Михаиллл
    • 7 августа 2019 г. 1:28

    Спасибо, но не могу пометить ответ как решение.

      Evgenii Legotckoi
      • 7 августа 2019 г. 19:29

      Покажите, что выдаёт appCore.testXml()

      Тогда смогу пояснить, как именно работает эта модель.

        Михаиллл
        • 7 августа 2019 г. 21:46

        appCore.testXml() просто возвращает файл с XML. Спасибо разобрался. Но на этом сайте на этос странице пропала кнопка отмечания ответа как "решение".

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь
          • Последние комментарии
          • IscanderChe
            12 апреля 2025 г. 17:12
            Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
          • AK
            1 апреля 2025 г. 11:41
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            9 марта 2025 г. 21:02
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
          • VP
            9 марта 2025 г. 16:14
            Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
          • ИМ
            22 ноября 2024 г. 21:51
            Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…