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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Drag & Drop from QML Item  (Прочитано 4125 раз)
0x0001
Гость
« : Сентябрь 02, 2012, 13:12 »

есть список QML ListView (модель из C++), нужно перетаскивать элементы в другое окно этого же приложения, как сделать проще ?
В С++ то это делается просто:
Код
C++ (Qt)
       QDrag *drag= new QDrag(this);
       QMimeData *mimedata= new QMimeData();
       QByteArray bArr = "data to send by dd";
       mimedata->setData ("application/mdd",bArr);
       drag->setMimeData (mimedata);
       drag->setDragCursor(QPixmap(":cursor.png"),Qt::MoveAction);
       drag->setHotSpot (QPoint(63,69));
       drag->setPixmap (QPixmap(":ddpic.png"));
       drag->exec(Qt::MoveAction);//run...
       if(drag) delete drag;
[/size]
Записан
0x0001
Гость
« Ответ #1 : Сентябрь 02, 2012, 18:41 »

РЕШЕНО, кому интересно все элементарно и прекрасно работает!
в QML в событии Делегата ListView пишем (простейший код, надо еще добавить антидребезг и обработку release...)
Код
C++ (Qt)
onPressed: {
                   var temp = var_mouse_act //copy all values to 'temp'
                   if (pressedButtons & Qt.LeftButton)
                       {
                       container.ListView.view.currentIndex = index
                       container.forceActiveFocus()
                       temp[0] = container.ListView.view.currentIndex //our Selected index!!!
                       var_mouse_act = temp
                       mCppObj.cppMouseSlot(var_mouse_act)
                       }
}
[/size]
ну а в самом слоте cppMouseSlot(QVariant &v) тот код что в начале темы...
все, QML элемент далее Drag&Drop-ится прекрасно в нужный контейнер!
Записан
OKTA
Гость
« Ответ #2 : Август 22, 2013, 01:29 »

Да, это то, что я искал) ееее))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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