Я провел некоторое исследование, и вот что я придумал:
QSystemTrayIcon не может явно обработать событие перетаскивания. Однако есть обходной путь, основанный на методе определения местоположения пиктограммы в Spifftastic.
- Вы создаете уникальный значок
и поместите его в качестве значка для краткого
момент и сделай скриншот.
- Учитывая, что вы знаете цвет
последовательность для значка, вы можете
поиск по скриншоту и
найдите конкретную иконку
место.
- Прозрачный виджет расположен
над значком и используется в качестве
падение цели.
Мне еще предстоит проработать некоторые мелкие детали операции, но в этом суть. Все вещи считаются хакерскими, но учитывая, что других способов сделать это нет, я думаю, что это приемлемо.
Пушистое приложение (написанное на C #) использует метод Spifftastic, чтобы найти значок в трее. Я предполагаю, что часть о прозрачном окне заключается в том, как они этого добиваются, но мне еще предстоит декомпилировать и исследовать их систему.