Михаиллл
Aug. 4, 2019, 12:23 p.m.

Как в 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

Do you like it? Share on social networks!

4
Evgenii Legotckoi
  • Aug. 7, 2019, 12:15 a.m.
  • The answer was marked as a solution.

Добрый день.

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

  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() . Предполагаю, что у вас просто не правильно определена структура полей, которые вы пытаетесь извлекать. Можете привести то, что возвращает данный метод?

    Михаиллл
    • Aug. 7, 2019, 1:28 a.m.

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

      Evgenii Legotckoi
      • Aug. 7, 2019, 7:29 p.m.

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

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

        Михаиллл
        • Aug. 7, 2019, 9:46 p.m.

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

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
          • VP
            March 9, 2025, 4:14 p.m.
            Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
          • ИМ
            Nov. 22, 2024, 9:51 p.m.
            Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          • Evgenii Legotckoi
            Oct. 31, 2024, 11:37 p.m.
            Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup