Nano Hash - криптовалюты, майнинг, программирование

Динамически добавить компонент в модель

Как я могу добавить свой динамически созданный объект Qml в ListModel?

Я пробовал это, но это не работает.

property ListModel projects
Component.onCompleted: {
    var comp= Qt.createComponent("Project.qml");
    var object = comp.createObject(parent,{});
    projects.append(object);
}

Спасибо.

01.02.2013

Ответы:


1

ListModel append(), insert() и set() принимают в качестве аргумента словарь. Поэтому вам нужно будет обернуть объект, возвращаемый createObject(), в словарь.

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

property ListModel projects: ListModel {}
Component.onCompleted: {
    var comp= Qt.createComponent("Project.qml");
    var object = comp.createObject(parent, {});
    projects.append({"name": object});
}
01.02.2013
  • свойство name должно быть уникальным? Как написать функцию, которая добавляет в модель? 01.02.2013
  • имя уникально в пределах одного словаря или ListElement, но вы будете добавлять несколько из них, поэтому для их уникальной идентификации просто добавьте еще один элемент в словарь, например {id: ‹unique value›, name: object} . 01.02.2013
  • Я попытался добавить без имени, и это работает. var comp= Qt.createComponent(Project.qml); объект var = comp.createObject (родительский, {}); проекты.добавлять(объект); 01.02.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..