Михаил Сермяжко
Михаил Сермяжко2 октября 2019 г. 0:56

В QML в ListView по очереди обратится ко всем делегатам

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

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

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

8
Evgenii Legotckoi
  • 2 октября 2019 г. 13:56

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

    Михаил Сермяжко
    • 2 октября 2019 г. 14:03

    Я выкрутился схожим образом, но хотелось бы научится обращаться к делегатам листвью. Таких возможностей не предусмотренно?

      Evgenii Legotckoi
      • 2 октября 2019 г. 14:06
      • (ред.)

      Вы внутри делегата также можете обратиться к модели, кажется ппросто достаточно написать model и написать нужный метод.
      Делегат - это внешний вид, его техническая задача состоит в том, чтобы пользователь видел информацию в том виде, как нарисовал дизайнер и написал код программист. Так что обращение к модели данных - это вполне верное решение. А вот если что-то будет делаться в обход модели данных, вот тогда это может быть не совсем верным решением.

        Михаил Сермяжко
        • 2 октября 2019 г. 17:48

        Я понимаю, но порой удобно было бы работать с модель отдельно, а с некоторыми делегатами отдельно.

          Evgenii Legotckoi
          • 2 октября 2019 г. 18:08

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

            Михаил Сермяжко
            • 2 октября 2019 г. 19:24

            К примеру взять данные из всех спинбоксов из всех делегатов или задать цвета для делегатов.

              Evgenii Legotckoi
              • 2 октября 2019 г. 19:47

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

                Михаил Сермяжко
                • 2 октября 2019 г. 22:38

                Спинбоксы не прикручены, потому сразу делал при изменении одного запись в базу. Но хотелось бы за раз опрасить все спинбоксы и сохранить в базу. С цветами примерно таже история. При работе через модель приходится постоянно сохранять в базу и обновлять модель, что затормаживает программу.

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь
                  Ua

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:84баллов,
                  • Очки рейтинга4
                  Ua

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:42баллов,
                  • Очки рейтинга-8
                  ОК

                  Qt - Тест 001. Сигналы и слоты

                  • Результат:47баллов,
                  • Очки рейтинга-6
                  Последние комментарии
                  ИМ
                  Игорь Максимов22 ноября 2024 г. 21:51
                  Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                  Evgenii Legotckoi
                  Evgenii Legotckoi31 октября 2024 г. 23:37
                  Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                  A
                  ALO1ZE19 октября 2024 г. 17:19
                  Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                  ИМ
                  Игорь Максимов5 октября 2024 г. 16:51
                  Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                  d
                  dblas55 июля 2024 г. 20:02
                  QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                  Сейчас обсуждают на форуме
                  f
                  firstlunoxod15 февраля 2025 г. 13:46
                  Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                  Дмитрий
                  Дмитрий3 февраля 2025 г. 16:24
                  Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                  NW
                  Nayo Wai30 января 2025 г. 19:22
                  не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                  n
                  nkly3 января 2025 г. 12:52
                  Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                  M
                  Marsel17 августа 2023 г. 0:26
                  OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                  Следите за нами в социальных сетях