• 7451阅读
  • 4回复

QGraphicsItem的复制剪切,粘贴功能实现? [复制链接]

上一主题 下一主题
离线xixu2008
 
只看楼主 倒序阅读 楼主  发表于: 2011-06-17
我想实现关于图形(比如矩形,圆形等)的复制,剪切,粘贴功能,图形信息包括大小,位置,颜色,也就是关于一些QPointF,QPen,QBrush等的数据,领导说要用粘贴板QClipboard实现,我学习了Qt书得关于拖放的那一章,提到了粘贴板的,是用QMimedata实现,但是像我包括的数据类型不止一种,书上只是关于QString,所以唯一的实现方式就是子类化QMimedata,其中最关键的的应该是在自己的类Mimedata的函数Mimedata::retrieveData(const QString &format, QVariant::Type preferedType)const 中实现,但是就是写不出来,谁帮开个头,谢谢了。
离线XChinux

只看该作者 1楼 发表于: 2011-06-17
不需要那么麻烦的,你先将要复制、粘贴的关键数据结构整理出来,然后再想办法在QMimeData中存储这些数据结构数据。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线xixu2008
只看该作者 2楼 发表于: 2011-06-20
请问能说的具体些吗,比如说我现在存储的数据结构就只要QPointF型的item->pos,和QColor型的item->pen,然后具体怎么在QMimedata中存储?希望你能写点程序,我是刚入门,拜托。
离线xixu2008
只看该作者 3楼 发表于: 2011-06-20
回 1楼(XChinux) 的帖子
请问能说的具体些吗,比如说我现在存储的数据结构就只要QPointF型的item->pos,和QColor型的item->pen,然后具体怎么在QMimedata中存储?希望你能写点程序,我是刚入门,拜托。
离线XChinux

只看该作者 4楼 发表于: 2011-09-26
一些Qt类是能直接转换成QVariant类的,QMimeData中保存的就是QVariant类型的.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个