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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Артефакты Drag&Drop в QListView  (Прочитано 1798 раз)
freejazz
Гость
« : Июль 26, 2014, 15:18 »

Может, кто сталкивался... Вообще-то саму Qt (на основе 4.2.Непонимающий-не помню) смежники собирали под необходимые нужды, но вроде бы механизм D&D не выпиливали специально.
Есть QListView, модель и делегат для отрисовки и обработки мышки на элементах списка.
Элемент списка - виджет с разным набором кнопок, чекбоксов и надписей.
Должна быть возможность перетаскивания элементов внутри списка за выделенное место на элементе (иконка).

Если делать D&D используя внутренний механизм Qt (т.е. не создавать самому Drag-объект и не вызывать exec, а только события мышки отдавать списку когда надо), то все более-менее работает, за исключением следующих моментов:
1)перетаскивание на первых видимых элементах списка работает нормально - курсор + образ (битмапа) перетаскиваемого элемента появляются и перемещаются как надо, но если элемент в списке виден не полностью (т.е.высота списка не кратна высоте элемента), то в качестве битмапы при перетаскивании используется только эта видимая часть
2)после прокрутки списка до следующей порции элементов (изначально невидимых) перетаскивание работает, курсор есть, а вместо битмапы элемента - под курсором небольшой прямоугольник
3)при возврате к началу списка опять все работает, т.е. получается, что все работает только для первых видимых элементов списка.

Может, какие флаги забыл включить-выключить?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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