Как получить дескриптор для TreeWidgetItem, отбрасываемого в PyQt DragNDrop? - PullRequest
0 голосов
/ 24 января 2011

Я пытаюсь обработать событие перетаскивания на TreeWidget от самого себя путем переопределения метода dropEvent.В конечном счете мне нужно получить дескриптор удаляемого TreeWidgetItem.До сих пор единственная полезная информация, которую я получаю из события, касающегося отброшенного элемента, - это QByteArray, который, кажется, содержит текст от отбрасываемого элемента, за исключением того, что он плохо отформатирован с большим количеством пробелов и кучей непечатных символов.

Любая помощь будет принята с благодарностью.

edit:

Вот код, как меня просили, но я действительно ничего особенного не делаю, я буквально просто читаюединственный тип данных, содержащихся в mimeData события drop.Звучит так, как будто мне придется переопределить событие Drag ??И добавить некоторый тип идентификатора, чтобы я мог получить дескриптор к исходному QTreeWidget ??

def dropEvent( self, event ):
    data = event.mimeData().data( 'application/x-qabstractitemmodeldatalist' )
    print data

1 Ответ

1 голос
/ 25 января 2011

не совсем уверен, что я правильно понял вопрос, но ваши данные MIME получены из метода startDrag, где вы создали объект QMimeData , задали его тип и предоставили данные соответственно.В вашем методе dropEvent проверьте тип входящих данных и обработайте их соответствующим образом или проигнорируйте, если вы не распознаете тип.

Также посмотрите документацию здесь: Drag and Drop он должен дать вам представление о том, как работает перетаскивание в qt

. Я также привел здесь небольшой пример, посмотрите, будет ли он работать для вас:посмотрите на аналогичный пост здесь: QTreeView с поддержкой перетаскивания в PyQt

надеюсь, это поможет, с уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...