Russian Qt Forum

Qt => Qt Quick => Тема начата: Xfobos от Июнь 27, 2012, 13:08



Название: Dran'n'Drop между двумя MouseArea'ми
Отправлено: Xfobos от Июнь 27, 2012, 13:08
Есть список устройств в ListView, у каждого элемента есть доп.переменные (например title, type и т.д.)
Так же есть GridViev окон, куда можно загрузить эти устройства.
Жест такой: берём устройство перетаскиваем на одно из окон, отпускаем, и окно загружает переменные (например title, type и т.д.) из устройства.

Пробовал сделать через индексы списков, но тогда оба списка должны находится в одном файле, а это громоздко и не понятно как отличить простой вход мышки от "сброса" устройства на окно (элемент GridView)

Заранее спасибо!!!


Название: Re: Dran'n'Drop между двумя MouseArea'ми
Отправлено: lighting от Июнь 27, 2012, 14:08
Код выложи, со слов что-то непонятно что и где у тебя не получается. А без кода могу только предложить свой сигнал эмитить в который нужные значения и засовывать.


Название: Re: Dran'n'Drop между двумя MouseArea'ми
Отправлено: Xfobos от Июнь 27, 2012, 16:12
Кода получается целая простыня, вот такой делегат 1го списка:
Код:
Item {
    id:         device
    width:      200
    height:     30

    /****************************************************************************************************/
    //Variable
    property string m_title: "Device 1"
    property string m_ipaddress: "127.0.0.1"

    /****************************************************************************************************/
    //States
    states: [       
        State {
            name: "inDrag"
            when: index == devicesListView.draggedItemIndex   
           
            PropertyChanges {
                target:     button;
                parent:     mainWindow;

                x:          devicesCoords.mouseX - 20 + 200;
                y:          devicesCoords.mouseY + toolBar.height + dockWidgets.height - 30;
            }           
        }
    ]
}
, вот такой делегат 2го списка:
Код:
Item {
    id:         window
    width:      350
    height:     200

    /****************************************************************************************************/
    //Variable
    property string m_title: "Device 1"
    property string m_ipaddress: "127.0.0.1"
}
, a теперь вопрос: как определить над каким из экземпляров window был "отпущен" экземпляр device?