QML C++
Добрый вечер.
Написал свою модель на основе QAbstractListModel как
тут
.
Все заработало но у меня элементов больше чем в примере. Соответственно не все помещаются в область ограниченную высотой height:200. При прокрутке списка оставшиеся элементы вне поля видимости не подгружаются.При увелечении height элементов становится больше.
Вопрос.
Как правильно задать параметр height?
3
99
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Забыл добавить.
Все это дела поместил в заранее сформированный QWidget с помощью QQuickWidget а не QQuickView как в примере
Попробуйте сначало создать квадрат нужных размеров, а потом поместить список и задать параметр заполнить родителя.
п.с. У вас таки интерфейс на виджетах или qml?
Добрый день!
Думаю, что здесь ещё нужно поместить всё в ScrollArea, чтобы были полосы прокрутки.
Добрый вечер. Постепенно перевожу с виджета на QML
Полосу прокрутки добовляю с помощью ScrollBar.vertical: ScrollBar {} она то появляется. Вопрос то в другом.
Вот например
Элементы не попавшие в область появляются при прокрутке скрола.
У меня же количества объектов на прямую зависит от высоты ListView.
Выстовляю например height:100 подгружается 10 наименований и далее пустота. или 200 тогда 25 наименований
Как я понимаю ListView должена знать либо общее количество объектов жевущий в модели либо должен уметь при прокрутке их подгружать из модели.
сделайте отдельно область, и в эту область всуньте список.
пример из проекта, список заполняется из QSqlQueryModel, количество элемнтов может быть разное, каждый элемент списка представляется чекбоксом
список берет все что есть в моделе
Добавлю только, что может ещё понадобиться использовать clip: true в Rectangle или ListView, а то могут элементы вылезать за границы парента
благодарю, учту
Все равно не пойму. Если статически набиваю все работает
Если динамически то показывает один элемент. Хотя отладчик говорит что в модели живет 10.
Выстовляю значение mainTabLayout напримет height: 300 отображаются уже 5 элементов.
от куда берете данные?
.h
.cpp
тут собственно вызываю
получается вы парсите некий жисоновский массив и хотите вывести с него данные, что хотите получить в результате в списке? и почему у вас в делегате просто оранжевые прямоугольники, почему сразу не пытаетесь вывести нужные данные? и что у вас приходит в жисоне?поскольку такой простенький вариант выводит список без проблем
копайте в сторону вашей модели и проверьте данные которые приходят и которые находятся самой модели
"почему у вас в делегате просто оранжевые прямоугольники" упростил для показа код.

Не пойму что не так).
Проблема явно с моделью.
Отрисовывается только первый элемент модели. Который показан в отладочной информации.
а у вас модель заполняется в main.cpp? если да, попробуйте данную реализацию вынести в функцию класса создания модели, и вызывать наполнение модели в конструкторе класса.
пример (конструктор модели из предыдущего кода)
Модель наполняется не в main. Наполнение производится по сигналу из дерева категорий
Интересно что virtual QVariant data срабатывает только один раз хотя m_data>1
Ладно не буду вас отвлекать повожусь сам. Спасибо)
мне уже и самому интересно.
перенесите "setContextProperty("productListModel",&model)" в main.cpp
простенький пример можно посмотреть тут а это помогло мне когда разбирался с моделями
И так может кому будет интересно решил свою проблему следующим путем.
Через дизайнер в базовый виджет добавил QQuickWidget (назвал его listProducts)
Это соответственно убрал.
а вместо написал
и все заработало) Всем спасибо.