返回介绍

画布模块

发布于 2019-10-04 14:57:24 字数 931 浏览 1221 评论 0 收藏 0

这个模块是Qt企业版的一部分。

画布模块提供了一个名为QCanvas的高度优化的二维绘图区。 画布可以有任意数量的QCanvasItems。画布项则可以有任意的形状、尺寸和内容,在画布中能自由的移动,并且能被检查出是否有冲突。画布项能被设置成在画布中自动地移动以及使画布项支持QCanvasSprite。(如果你需要三维绘图请看Qt的OpenGL模块。)

画布模块使用文档/视图模型。QCanvasView 类是被用来显示画布的特定视图。多视图能同时在同一画布中显示。每一个视图在画布中使用一个任意的变换矩阵,以便能使其容易的实现诸如缩放的特性。

Screenshot of a canvas

Qt提供了一系列预定义的QCanvas项,如下所示:

  • QCanvasItem--一个所有画布项的抽象基类。
  • QCanvasEllipse--椭圆或者“饼的部分”。
  • QCanvasLine--线条部分。
  • QCanvasPolygon--多边形。
  • QCanvasPolygonalItem--一个含有非矩形形状的基类。大多数画布项都派生于此类。
  • QCanvasRectangle--矩形。此类矩形不能被倾斜或旋转。绘制可旋转的矩形使用QCanvasPolygon。
  • QCanvasSpline--多重贝塞尔曲线。
  • QCanvasSprite--活动的图片。
  • QCanvasText--文本字符串。

QCanvasPixmap和QCanvasPixmapArray这两个类是由QCanvasSprite类来显示在画布上的活动和移动的图片。

更多的专门的项能够通过继承画布项类来实现。从一个QCanvasItem的派生类(通常为 QCanvasPolygonalItem)来实现比直接从QCanvasItem继承更容易。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文