Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: AlphaGh0St от Январь 30, 2016, 23:41



Название: Drag&Drop пути в системе
Отправлено: AlphaGh0St от Январь 30, 2016, 23:41
Всем привет!
Если перетащить (Drag&Drop) в программу файлы, то можно получить полный путь каждого перетаскиваемого файла.
А если наоборот, из программы перетащить куда-нибудь содержимое, можно ли получить путь в системе, куда это содержимое было перетащено?
Например, перетаскиваю на рабочий стол, должен получить полный путь до рабочего стола.
Возможно ли это?

Благодарю.


Название: Re: Drag&Drop пути в системе
Отправлено: AlphaGh0St от Январь 31, 2016, 10:58
Например, есть QTableWidget, в котором перечислены строки: file1.txt, file2.txt, file3.txt.
Перетаскиваю file2.txt на рабочий стол.
Должен быть создан следующий файл: C:\Users\user\Desktop\file2.txt

Имя создаваемого файла известно - file2.txt
А как получить путь, куда этот файл был перетащен (C:\Users\user\Desktop\) ?


Название: Re: Drag&Drop пути в системе
Отправлено: AlphaGh0St от Январь 31, 2016, 13:47
Сообщение выше, помечено, как спам и реклама.
Вот где модераторы, когда они нужны?


Название: Re: Drag&Drop пути в системе
Отправлено: Bepec от Январь 31, 2016, 14:14
Кхм... Вот вы пошли в магазин купили булку хлеба. Она теперь у вас. Потом вы взяли и выбросили её в окно автобуса. Как узнать где булка хлеба?
Никак. Координаты получателя не фигурируют в этом деле.


Название: Re: Drag&Drop пути в системе
Отправлено: Igors от Январь 31, 2016, 15:07
Насчет пути не знаю, но в ОС как минимум сообщение об окончании приходит (что-то типа draggingEnded в какаве). Да и по здравому смыслу должно быть: напр "мувим" чего-то, надо знать что принялось Ок, и только тогда удалять из источника. Можно ли получить его средствами Qt? Цитирую себя :)
Все задачи такого плана начинаются со стандартной процедуры:  вешаете фильтр на qApp (или перекрываете notify) и печатаете все приходящие события (кроме таймера, задолбает). Нажимаете прынт-скрын и смотрите какие еветны вообще пришли. Бывает так что вообще "ничего", тогда лезть в nativeEvent, ну то редко

Печаталку событий лучше иметь всегда и включать напр по #ifdef
Только вместо прынт-скрын у Вас др действие

Сообщение выше, помечено, как спам и реклама.
Вот где модераторы, когда они нужны?
Не "сию минуту", имейте терпение