Russian Qt Forum
Апрель 29, 2024, 02:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: PathView + ListModel  (Прочитано 4585 раз)
WeX
Гость
« : Июль 15, 2011, 17:54 »

Всем доброго времени суток. Суть проблемы такова, есть PathView, и в отдельном файле есть ListModel с несколькими элементами.

Сам PathView с делегатом:
Код:
Component {
        id: buttonDrawer
        Item {
            width: 100; height: 100
            scale: PathView.iconScale

            Image {
                id: myIcon
                y: 10; anchors.horizontalCenter: parent.horizontalCenter
                source: icon
                smooth: true
            }
            Text {
                anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
                text: capt
                smooth: true
                color: "#c8c8c8"
            }
        }
    }

    Component {
        id: appHighlight
        Rectangle {
            width: 80; height: 80; color: "silver"; opacity: 0.3
        }
    }

    PathView {
        id: view

        anchors.fill: parent
        anchors.leftMargin: 200
        anchors.rightMargin: 200

        highlight: appHighlight
        preferredHighlightBegin: 0.5
        preferredHighlightEnd: 0.5
        focus: true
        model: Model1 {}
        delegate: buttonDrawer
        path: Path {
            startX: 10
            startY: 0
            PathAttribute { name: "iconScale"; value: 0.5 }
            PathQuad { x: 200; y: 60; controlX: 50; controlY: 100 }
            PathAttribute { name: "iconScale"; value: 1.0 }
            PathQuad { x: 390; y: 0; controlX: 350; controlY: 100 }
            PathAttribute { name: "iconScale"; value: 0.5 }
        }
    }

Ну и модель:
Код:
ListModel {
    ListElement {
        name: "prog1"
        icon: "./icon1.png"
        appSource: "./prog1"
    }
    ListElement {
        name: "prog2"
        icon: "./icon2.png"
        appSource: "./prog2"
    }
    ListElement {
        name: "prog3"
        icon: "./icon3.png"
        appSource: "./prog3"
    }
}

Необходимо после того как будет выбран элемент в PathView, тобишь по событию onMovementEnded, как-то получить значение из свойства name текущего элемента, у меня это никак не получается, потому-что он его не видит =( Как можно это реализовать?
Записан
twp
Гость
« Ответ #1 : Июль 15, 2011, 18:05 »

а что это?
Цитировать
Код:
model: Model1 {}
Записан
WeX
Гость
« Ответ #2 : Июль 16, 2011, 06:00 »

Эмм, ну я так указывал на модель ему, Model1.qml это файл с моделью. В каком-то из примеров видел такую реализацию. А надо как-то по другому? Просто с QML ещё несовсем хорошо разбираюсь ибо не так давно начал его изучать.
Записан
Ubuntu_linux
Гость
« Ответ #3 : Июль 16, 2011, 12:20 »

Когда  елемент выбран то емит сигнал с нужными свойствами делегата
Записан
WeX
Гость
« Ответ #4 : Июль 16, 2011, 12:32 »

А можно примерчик? А то я запутался уже =)
Записан
twp
Гость
« Ответ #5 : Июль 18, 2011, 12:43 »

скорее всего тут лучше использовать onCurrentIndexChanged:

Код:
    PathView {
        id: view

        model: Model1 { id: myModel }
        ...
        onCurrentIndexChanged: {
            var name =  myModel.get(currentIndex).name;
            ...
        }
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 20.