Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Гурман от Июня 22, 2011, 08:10



Название: Drag&drop указателя внутри приложения
Отправлено: Гурман от Июня 22, 2011, 08:10
На главном окне есть две QGraphicsScene. В приложении создаются QGraphicsItem, которые попадают в первую сцену. Нужно иметь возможность перетаскивать их из одной сцены в другую. Насколько я понимаю из документации на D&D, единственный вариант - это замаймливать перетаскиваемые айтемы и потом размаймливать их в приемнике. Но все, что мне нужно - это "бросить" указатель на имеющийся экземпляр айтема в сцену-приемник. Понятно, что можно этот указатель преобразовать в строку с шестнадцатиричным представлением, и его передать. Но как-то это не выглядит кошерно... Или сейчас в Qt это только так и делается? Или есть другой способ при перетаскивании внутри приложения просто передавать указатели на объекты? Если влоб создать класс-наследник QMimeData c единственным дополнительным полем - указателем на айтем, это в D&D сработает? Вижу, что если наследовать этот класс, то все равно мутота, надо переопределять несколько методов, причем не очевидно, что с указателем там получится.

Просто с D&D в Qt я еще не работал, а с утра как-то нет уверенности, как лучше всего это сделать.