zoukankan      html  css  js  c++  java
  • QCanvasItem介绍-QT3

    QCanvasItem类提供一个在QCanvas上的抽象图形对象。

    各种QCanvasItem子类提供立即可用的行为。这个类是一个纯粹的抽象超类,它提供了在所有具体的canvas项目类中共享的行为。QCanvasItem不打算直接子类化。子类话一个他的子类更容易,QCanvasPolygonalItem (最常见的基类), QCanvasRectangle, QCanvasSprite, QCanvasEllipse or QCanvasText.

    画布项通过构造函数添加到画布上。可以使用setCanvas()将项目移动到不同的画布上。

    在show()函数被调用(或setVisible(TRUE))之后,以及在update()被调用之后,画布项就可以显示在画布上。画布只显示可见的项,并且只有在调用update()时才会显示。如果您创建画布时没有给构造函数传递宽度和高度参数,那么您还需要调用resize()函数。因为画布背景默认为白色,画布项也默认为白色,所以您需要改变颜色才能在画布上看到画布项。

    一个QCanvasItem对象可以使用move(), moveBy(), setX(), setY() and setZ()函数在x,y,z方向上移动。一个画布项可以通过函数setAnimated()设置为运动状态, 并用函数setXVelocity() 和 setYVelocity()来设置x和y方向上的速度——调用setVelocity()可以实现同样的效果。使用collidesWith()函数来查看画布项是否会在下一次advance(1)上发生冲突,并使用collisions()来查看发生了什么冲突。

    使用QCanvasSprite或您自己的QCanvasSprite子类来创建动画的画布,即随时间变化的画布。

    画布项的大小可以使用函数boundingRect()得到。使用boundingRectAdvanced()查看下一个advance(1)调用后画布项的大小。

    使用rtti()函数用来获得QCanvasItem子类的标识。函数canvas() 的作用是返回一个指向包含画布项的画布指针。

    QCanvasItem提供了类似于QWidget中一个的函数:show()和isVisible()函数。

    QCanvasItem还提供setEnabled()、setActive()和setSelected()函数;这些函数设置了相关的布尔值并导致重新绘制,但是它们所设置的布尔值并不在QCanvasItem中使用。您可以在子类中使用这些布尔值。

    默认情况下,canvas项目没有速度,没有大小,也没有运动。Qt中提供的子类不会更改这些默认值,除非指定了它。

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

  • 相关阅读:
    py二级习题
    js 闪烁的文字
    用windows 画图 裁剪照片
    JS 练习
    弧度制与角度制
    Knockout.Js官网学习(event绑定、submit绑定)
    js中进行金额计算 parseFloat 会产生精度问题,toFixed(2) 方法修正
    JQuery通过类选择器捕获click事件获取bai当前点击对象的id, javascript中onclick(this)用法介绍
    jQuery检查元素是否含有指定的class类,使用.hasClass()方法
    ajax的dataType有哪些类型?
  • 原文地址:https://www.cnblogs.com/Corphish/p/7918453.html
Copyright © 2011-2022 走看看