这个类为编写用户的定制项目提供了一个轻量级的基础,包括定义项目的几何图形、碰撞检测和绘画以及通过事件处理进行的项目交互。QGraphicsItem是 Graphics View Framework 的一部分。
Qt为常见的形状提供了如下标准图形项。
提供椭圆项 | |
提供一个行项 | |
提供任意路径项 | |
提供一个位图项 | |
提供多边形项 | |
提供一个矩形项 | |
提供简单的文本标签项 | |
提供高级文本浏览器项 |
项目的所有几何信息都基于其局部坐标系。项目的位置 pos()是唯一不在本地坐标中操作的函数,因为它返回父坐标中的位置。 The Graphics View Coordinate System 详细描述QT坐标系。
您可以通过调用来 setVisible()设置某项是否可见(即绘制和接受事件),setVisible() 隐藏项目的同时也将隐藏其子项目。同样,您可以通过调用setEnabled(),如果禁用某个项目,其所有子项目也将被禁用。默认情况下,项目既是可见的又是启用的。若要切换某项是否被选中,首先通过设置 ItemIsSelectable 标志,然后调用 setSelected()。通常,用户交互的结果是场景切换选择。
要编写自己的图形项,首先要创建QGraphicsItem的子类,然后从实现它的两个纯虚拟公共函数开始:boundingRect(),它返回项目绘制区域的估计值,以及 paint(),它实现了实际的绘画。例如: