【问题标题】:Drawing QPixmap Rects Over QWidget with QPainter使用 QPainter 在 QWidget 上绘制 QPixmap Rects
【发布时间】:2011-04-19 17:22:23
【问题描述】:

我将通过套接字序列化QPixmapRects。我将对它们进行反序列化并在QWidget 中绘制矩形现在我的问题是我应该为此使用哪个QWidget?是否有任何关于我应该如何进行的再污染?目前我决定使用QPainter 并使用drawPixmap 绘制我是否走错了方向?

【问题讨论】:

  • 需要更多信息...您对绘制的像素图在做什么?主要目的是图形应用程序,还是您希望像素图成为带有其他小部件的表单的背景,还是什么?正如您的问题所述,很难给出建议。
  • 您是在绘制像素图和矩形,还是在矩形中绘制像素图?如果稍后,矩形是像素图的目的地,还是像素图中要绘制的部分?
  • 实际上没有 这是一个屏幕共享应用程序。一端是发送在查看器屏幕上绘制的屏幕截图矩形。

标签: qt drawing qpixmap


【解决方案1】:

听起来您可能希望使用在QGraphicsScene 上绘制的QGraphicsPixmapItem 实例和QGraphicsView。

见Qt Graphics View Framework:

图形视图为 管理大型企业并与之互动 定制二维图形数量 项目,以及一个视图小部件 在支持下可视化项目 用于缩放和旋转。

框架包含一个事件 传播架构,允许 精确的双精度交互 上项目的能力 场景。项目可以处理关键事件, 鼠标按下、移动、释放和加倍 点击事件,他们还可以跟踪 鼠标移动。

图形视图使用 BSP(二进制空间 分区)树提供非常 快速的项目发现,因此 其中,它可以可视化大场景 实时,即使有数百万 项目。

【讨论】:

  • 但我不需要支持单个项目的缩放和旋转。这些物品都不是独一无二的。它们都是类似的矩形。大小相同,颜色信息也相同。
  • 您使用的任何绘画表面都会带有很多您可能不会使用的东西。图形框架确实可以让您关闭其中的一些功能,这样您就不必为不需要的东西付费。如果速度不够快,您可能需要使用 OpenGL (doc.trolltech.com/latest/qtopengl.html)。但是图形框架会很多更简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多