2011-04-19 35 views
0

我会在插槽得到初始化QPixmapRect秒。我将反序列化它们并在QWidget中绘制矩形现在我的问题是我应该使用哪个QWidget用于此目的?是否有任何再污染我应该如何进行?目前我决定使用QPainter并使用drawPixmap进行绘制,我会朝错误的方向走吗?绘制的QPixmap Rects在QWidget的与QPainter的

+0

需要更多的信息.​​..你做着* *与绘制的像素图?主要目的是一个图形应用程序,还是你想让pixmaps成为其他窗口小部件的背景,或者是什么?正如你的问题所述,很难提出建议。 – 2011-04-19 18:17:10

+0

你是否在绘制矩形或像素矩形中的像素图和矩形?如果以后,矩形是pixmaps的目的地,还是pixmaps中要绘制的部分? – 2011-04-19 18:52:27

+0

其实这是一个屏幕共享应用程序。一端是发送他们正在查看器屏幕上绘制的屏幕截图矩形。 – 2011-04-19 19:02:19

回答

0

听起来你可能想用QGraphicsPixmapItemQGraphicsScene上的实例QGraphicsView

参见Qt Graphics View Framework

图形视图提供了一个表面,用于 管理和具有大 许多定做的2D图形 项,以及用于 可视化项目的视图插件相互作用,支撑 用于缩放和旋转。

该框架包括一个事件 传播架构,允许精确 双精度相互作用 能力用于在 场景中的项目。项目能处理关键事件, 按下鼠标,移动,释放和双击 点击事件,而且他们还可以跟踪 鼠标移动。

图形视图使用BSP(二进制空间 分区)树提供非常 快速的项目发现,并作为该 结果,它可以实时可视化大场面 ,甚至数以百万计的 项目。

+0

但我不需要支持单个项目的缩放和旋转。这些项目都是独一无二的。他们都是similer矩形。大小相同,颜色相同。 – 2011-04-19 20:33:39

+0

您使用的任何油漆表面都会附带很多您可能不会使用的东西。图形框架确实可以让你关闭一些这些东西,所以你不需要支付你不需要的东西。如果速度不够快,您可能需要使用OpenGL(http://doc.trolltech.com/latest/qtopengl.html)。但是图形框架将会变得非常简单。 – 2011-04-19 20:51:42