graphicsview框架简介

来源:互联网 发布:下载删除软件 编辑:程序博客网 时间:2024/05/06 06:50

转自:http://blog.csdn.net/luopeiyuan1990/article/details/8582698

1.控件位置

Display Widgets→GraphicsView

2.控件介绍

GraphicsView(绘图视图)是用于显示QGraphicsScene内容的控件。学习该控件就不得不了解GraphicsView框架,GraphicsView框架为2D绘图提供一个简单、容易使用、功能强大的解决方案。Graphics View框架由三个主要的类组成:QGraphicsItem、QGraphicsScene和QGraphicsView。其中QGraphicsItem定义图元;QGraphicsScene定义场景,包含所有需要绘制的图元,根据用户的操作改变图元的状态;QGraphicsView定义观察场景的视窗,可以充当绘图的区域,成为独立的窗体被弹出,或者嵌入其他UI组件中形成复合UI组件。

3.控件设置选项

在GraphicsView控件的properties选项中,一般常对以下选项进行设置。

name:该控件对应源代码中的名称;

font:设置显示框字体;

frameShape:边框样式;

frameShadow:边框阴影,Qt Creator提供的选择有plain、raised、sunken;

lineWidth:边框线宽。

4.常用成员函数

1) QGraphicsView::QGraphicsView ( QWidget *parent = 0 )

构造一个父对象为parent的GraphicsView。

2) QGraphicsView::QGraphicsView ( QGraphicsScene *scene, QWidget *parent = 0 )

构造一个父对象为parent的GraphicsView,填充场景scene到该GraphicsView。

3) void QGraphicsView::centerOn ( const QPointF & pos )

调整视窗的内容,确保点pos在视窗中居中。

4) void QGraphicsView::centerOn ( qreal x, qreal y )

这是一个重载函数,函数功能同函数3),相当于调用center(QPointF(x,y))。

5) void QGraphicsView::centerOn ( const QGraphicsItem *item )

这是一个重载函数,函数功能同函数3),调整视区的内容,使项目item为中心。

6) void QGraphicsView::ensureVisible ( const QRectF & rect, int xmargin = 50, int ymargin = 50 )

调整视窗的内容,使视窗rect中的内容是可见的。

7) void QGraphicsView::ensureVisible ( qreal x, qreal y, qreal w, qreal h, int xmargin = 50, int ymargin = 50 )

这是一个重载函数,函数功能同函数6),相当于调用ensureVisible(QRectF(x,y,w,h),xmargin,ymargin)。

8) void QGraphicsView::ensureVisible ( const QGraphicsItem *item, int xmargin = 50, int ymargin = 50 )

这是一个重载函数,函数功能同函数6),调整视窗的内容,使item的内容可见。

9) QGraphicsItem *QGraphicsView::itemAt ( const QPoint & pos ) const

返回pos处的item。

10) QGraphicsItem *QGraphicsView::itemAt ( int x, int y ) const

这是一个重载函数,函数功能同函数9),返回坐标(x,y)处的item。

11) QList<QGraphicsItem *> QGraphicsView::items () const

返回相关场景中所用的图元。

12) QList<QGraphicsItem *> QGraphicsView::items ( const QPoint & pos ) const

返回视图中位置pos处的项目列表。

13) QGraphicsScene *QGraphicsView::scene () const

返回当前可视化的场景;如果当前没有可视化的场景,则返回0。

14) void QGraphicsView::setScene ( QGraphicsScene *scene )

设置场景scene为当前可视化场景。

15) void QGraphicsView::updateScene ( const QList<QRectF> & rects ) [slot]


原创粉丝点击