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中提供的子类不会更改这些默认值,除非指定了它。
QCanvasItem介绍-QT3的更多相关文章
- Qt4与Qt3的主要不同
Qt4与Qt3的主要不同 1)QT4 中提供了大量新控件,虽然它也保持了旧的控件,并命名为Qt3XXX,但是这样的控件没准在今后的哪个QT版本中就不被支持了,所以还是换吧,控件替换的 工作是巨大的,这 ...
- 第二章 Qt常用工具的介绍
第二章 Qt常用工具的介绍 (1)No.1 qmake 相信编写过Makefile的开发人员,随着工程中源码的级数递增和以类型.功能.模块组织源码的子目录的增多,都不愿意重复机械地手工编写这个工程管理 ...
- QT4和QT3的区别
著名的QT库前一阵子升级到4.xx版本了,我目前在开发的一个基于QT3的软件,由于受到QThread的各种困扰,因此打算尝试将代码升级到QT4, 但是当我实际开始升级工作后,才发现QT3和QT4的变化 ...
- yum与rpm的区别以及详细介绍
rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时. Yum(全称为 ...
- qt configure参数配置介绍
======================================全文是按照./configure -help来翻译的==================================== ...
- QT4与QT3的不同
1)QT4中提供了大量新控件,虽然它也保持了旧的控件,并命名为Qt3XXX,但是这样的控件没准在今后的哪个QT版本中就不被支持了,所以还是换吧,控件替换的工作是巨大的,这些新的控件使用了新的方法.属性 ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- Linux基础教程 linux awk内置变量使用介绍
awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
随机推荐
- Express4.x API (二):Request (译)
写在前面 最近学习express想要系统的过一遍API,www.expressjs.com是express英文官网(进入www.epxressjs.com.cn发现也是只有前几句话是中文呀~~),所以 ...
- 智能合约语言 Solidity 教程系列4 - 数据存储位置分析
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...
- Spring之AOP一
面向切片式编程不仅在Java中存在,在其他语言也是存在,例如asp.net的管道模型中,可以利用aop来进行自定义一些操作,比如权限认证.日志等.今天主要是引入AOP,具体它涉及到的专有名词先不做解释 ...
- android动画介绍之 自己定义Animation动画实现qq抖一抖效果
昨天我们介绍了Animation的基本使用方法.小伙伴们了解的怎么样了?假设还没有了解过Animation的小伙伴能够看看这篇博客 android动画介绍--Animation 实现loading动画 ...
- 阿里巴巴2016研发project师笔试题
问题1: 假设下列的公式成立:78+78=123,则採用的是_______进制表示的. 本题实则考察进制转换.能够设为x进制.可是x进制有一个问题.即我们无法对x进制直接进行加减乘除.故转化为我们常见 ...
- poj - 1185 炮兵阵地 状压DP 解题报告
炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 21553 Accepted: 8363 Description ...
- Hibernate常见问题 No row with the given identifier exists问题的解决办法及解决
(1)在学习Hibernate的时候遇到了这个问题"No row with the given identifier exists"在网上一搜看到非常多人也遇到过这个问题! 问题的 ...
- 移植 MQTT broker mosquitto 到 omapl138
概述 本次移植使用创龙的 TL138-EVM 开发板,基于 TI 的 MCSDK 开发环境.具体上位机系统为 Ubuntu 12.04-32bit,软件环境基于创龙的用户手册搭建. 为了移植后在 13 ...
- .Net Core在X86上实现Interlocked.Increment(ref long)的方式
因为在X86上long会被分割为两个int进行操作, 那么Interlocked.Increment的实现成为了一个问题. 在一番搜索后未发现有现成的文章解释这个问题,于是我就动手分析了. 这篇是笔记 ...
- Mac环境下实现alias重命名命令(永久生效)
Mac环境下实现alias重命名命令 iOS Dev在使用Xcode完成代码编写后,可能需要上传至第三方分发应用给测试人员进行相关测试,比如蒲公英.FIR. 效率较高的上传方式是借助于Fastlane ...