QML C++
Добрый вечер.
Написал свою модель на основе QAbstractListModel как
тут
.
Все заработало но у меня элементов больше чем в примере. Соответственно не все помещаются в область ограниченную высотой height:200. При прокрутке списка оставшиеся элементы вне поля видимости не подгружаются.При увелечении height элементов становится больше.
Вопрос.
Как правильно задать параметр height?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
Г
- Геній
- Қыр. 13, 2024, 12:46 Т.Қ.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:66ұпай,
- Бағалау ұпайлары-1
t
- torgaev_2024
- Қыр. 8, 2024, 6:20 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:33ұпай,
- Бағалау ұпайлары-10
Соңғы пікірлер
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
Linux жүйесінде файлдарды қалай көшіруге болады Screenshot_20240802-065123.png
Влад РусоковТам. 2, 2024, 1:47 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Енді форумда талқылаңыз
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTМаусым 25, 2024, 1 Т.Ж.
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Забыл добавить.
Все это дела поместил в заранее сформированный 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)
Это соответственно убрал.
а вместо написал
и все заработало) Всем спасибо.