Russian Qt Forum

Qt => Qt Quick => Тема начата: kuzulis от Август 17, 2015, 14:08



Название: [Drag & drop] Между моделями.
Отправлено: kuzulis от Август 17, 2015, 14:08
Всем доброго здравия.

Кто-нибудь сталкивался с ситуацией, когда нужно перемещать объекты из одной модели в другую при помощи DnD?

Например, когда нужно "переместить" некий сложный объект (например VideoOutput, Image), а не просто там какой-то текст типа
как тут (http://doc.qt.io/qt-5/qtquick-externaldraganddrop-example.html), где в принципе все понятно.

Но проблемы такие:

1. В этом примере используется "простой тип" MIME данных как "text/plain" а мне нужно "перемещать" что-то более сложное (видео, картинку и прочее)

2. Я использую модели вместо обычных итемов. Например, есть примеры где используется DnD в моделях, но там все делается в пределах одной модели,
    а мне нужно чтобы из одной модели итем исчез, а в другой появился..

Что-то не соображу с какой стороны к этому подойти..


Название: Re: [Drag & drop] Между моделями.
Отправлено: Old от Август 17, 2015, 14:12
1. В этом примере используется "простой тип" MIME данных как "text/plain" а мне нужно "перемещать" что-то более сложное (видео, картинку и прочее)
void QMimeData::setImageData(const QVariant & image)
void QMimeData::setData(const QString & mimeType, const QByteArray & data)


Название: Re: [Drag & drop] Между моделями.
Отправлено: kuzulis от Август 17, 2015, 14:18
Хмм.. а если мне нужно "перенести" виджет в котором отображается видео с камеры из одной модели в другую? :)

Получается, что нужно из первой модели этот итем (который содержит видос) удалить, далее, во вторую модель "переслать" через MIME имя камеры, и в этой второй модели создать новый итем, используя имя этой камеры.. Т.е. переоткрыть камеру.. Как-то так?


Название: Re: [Drag & drop] Между моделями.
Отправлено: Old от Август 17, 2015, 14:20
В пределах одного приложения вы можете передавать указатели на объекты.


Название: Re: [Drag & drop] Между моделями.
Отправлено: kuzulis от Август 17, 2015, 14:20
QML, какие еще там указатели ? :)


Название: Re: [Drag & drop] Между моделями.
Отправлено: Old от Август 17, 2015, 14:26
QML, какие еще там указатели ? :)
Передавайте в строке какой нибудь идентификатор видео, что бы по нему получать смог добраться до видео.
Я не очень знаю как там в QML. :)