LINUX.ORG.RU

[QT] QMimeData

 


0

0

Здравствуйте! Есть QTableWiget. Как бы мне при перетаскиваниии запихать в QMimeData структуру данных из этой таблицы?


Ответ на: комментарий от theos

Новичек, однако! Не дети! Ужо сделал, всем спасибо. просто можно простые данные запихать в QStringList затем join в стринг, передать в MimeData ну и дальше несложно. Если сложные и составные объекты, то нужно наследовать QMimeData. Мне просто срочняк все нужно сделать и в гуи поэтому пишу мессаги сюда и паралельно откапываю в доках. Так что не серчай уважаемые братья по оси.

jeep
() автор топика
Ответ на: комментарий от jeep

Нет, наследовать QMimeData нет смысла, все-равно в буфер ничего кроме стандартных типов не запихнешь.

Почитай что такое сериализация данных. В Qt для этого есть QDataStream.

A2K
()
Ответ на: комментарий от A2K

> Нет, наследовать QMimeData нет смысла, все-равно в буфер ничего кроме стандартных типов не запихнешь.

Щас тут тебе насоветуют.

На, читай урок по Qt "Как передавать через буфер обмена произвольные типы данных".

http://www.prog.org.ru/topic_8180_0.html

xintrea
()
Ответ на: комментарий от A2K

Это извращение какое-то - рекомендуемый метод Шлее - "унаследовать класс QMimeData и перезаписать методы formats() и retrieveData()".

Там и объясняется, как это сделать. Потому что сам товарищ Шлее не потрудился подробно расписать реализацию. Кстати, заодно дан рабочий пример, для тех кто русский не понимает.

xintrea
()

void setData ( const QString & mimeType, const QByteArray & data )

Когда делал какой-то драг-н-дроп, создавал сырой буфер, набитый какими-то даными в определенном порядке, запечатывал его в байтаррей и отправлял в setData. И соответственно ловил дроп, распечатывал и т.д.

Да, это не по-кутешному.

staseg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.