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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] определить координаты перетаскиваемого изображения при drag and drop  (Прочитано 15871 раз)
_OLEGator_
Гость
« Ответ #15 : Июль 06, 2012, 10:42 »

Механизм drag and drop открыт для переопределения, если не устраивает стандартная реализация - надо свою писать и не городить огород.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Июль 06, 2012, 12:19 »

если кому интересно, завтра могу набросать тестовый проект
Интересно, жду проект. Спасибо
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #17 : Июль 06, 2012, 13:06 »

Каких платформозависимых Оо?
Вы же внутри программы хотите меняться, не?

Если так то достаточно драги всякие переопределить нафиг и не вызывать функций родителей, не?

PS платформозависимые функции... хм хм хм... чегой то у вас не тогой-то. Драг и дроп то в вашей программе нужен как бэ. Всё как бэ в ваших руках.
с перемещением картинок тоже разобрался (пока только для перемещения по текущему вью, другие ещё не трогал), но тут уже пошли в ход хаки
Пошли хаки - это признак того, что надо самому писать drag and drop.
Механизм drag and drop открыт для переопределения, если не устраивает стандартная реализация - надо свою писать и не городить огород.
хаки (таймер вот этот, о котором я писал выше) используются в связке с переопределёнными событиями перемещений. выложу код – посмотрите Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #18 : Июль 07, 2012, 02:57 »

прошу прощения что долго не выкладывал пример – день выдался загруженным. выложил код на гитхаб (надо же когда-то попробовать): https://github.com/kambala-decapitator/qt-true-dnd-move

хотел ещё добавить чекбокс чтобы можно было ощутить разницу между стандартной реализацией d'n'd и моей, но уже слишком устал Улыбающийся

в своём проекте ещё хочу добавить подсветку области дропа (зелёная – можно, красная – нельзя). в примере QTDIR\examples\draganddrop\puzzle\ подобное реализовано через раскраску нужной части виджета с помощью QPainter, но тут думаю можно это реализовать через модель.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #19 : Июль 15, 2012, 15:59 »

за неделю столько комментариев появилось Улыбающийся

подсветку (как описывал в предыдущем сообщении) тоже реализовал, но сейчас для этого приходится постоянно вызывать update(), что вызывает ощутимые тормоза. код залью попозже.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #20 : Июль 15, 2012, 17:55 »

за неделю столько комментариев появилось Улыбающийся
Улыбающийся Если бы всегда молчали кому нечего сказать по существу - было бы не так уж плохо.

Я посмотрел Ваш пример, ну все нормально, DnD работает как положено, вызываются соотв методы. Не понял о какой разнице со стандартным Вы говорите. Возможно потому что сам в Qt еще не делал. А разбираться что куда дропается всегда приходится
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #21 : Июль 15, 2012, 23:53 »

дописал «галочку» чтобы была видна разница между стандартной реализацией и кастомной
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #22 : Июль 20, 2012, 17:18 »

добавил подсветку области дропа (зелёный – можно, красный – нельзя). по-моему на мак ос притормаживает перемещение из-за постоянных вызово viewport()->update() в dragMoveEvent (в винде такого не замечаю, а может просто потому что машина мощная). может кто-то подтвердить/опровергнуть?

да, и может уже в отдельную тему пойти с этим вопросом? Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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