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] |
|