QT之QGraphicsView-动态2D显示容器

  • QGraphicsView提供了一个界面,它既可以管理大量数据的定制2Ditems,又可以与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放。这个柜架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。items能处理键盘事件,鼠标的按,移动,双击事件,也可以跟踪鼠标移动。
  • QGraphicsView容器-> QGraphicsScene场景->QGraphicsItem图元
  • (电视(容器)-> 画面(场景)->画面里面的演员、道具(图元)

    QT之QGraphicsView-动态2D显示容器_第1张图片


 

Qt的一些其他类QGraphicsView

QGraphicsItem图元类,只是一个虚基类,有8种不同的派生类。

 

    

QgraphicsEllipseItem 椭圆图元
QGraphicsLineItem   线图元
QGraphicsPathItem 曲线图元
QGraphicsPixmapItem 像素图元
QGraphicsPolygonItem 多边形图元
QGraphicsRectltem 矩形图元
QGraphicsSimpleTextItem 文本标签图元
QGraphicsTextItem 文本浏览器图元

QGraphicsView里包含了QGraphicsScene

而QgraphicsScene拥有多个图元,包含三层:背景图、图元层、前景层

QGraphicsItem图元:

支持鼠标事件、滚轮事件、上下文菜单事件、支持键盘输入焦点、按键事件(支持拖放,支持分组)

QGraphicsPixmapItem像素图元 贴图

1、找到void setPixmap(const QPixmap & pixmap);形参需要一个QPixmap的类,继续看QPixmap

Format格式支持里,支持BMP GIF IPG PNG等很多格式的图片格式,但是原生只支持BMP和PNG,但是其他的格式都通过了插件的模式支持。

2、怎么样把图片的格式转换成QPixmap呢?找接口。

图片时一个文件,就找文件相关的。

QPixmap(const QString & filename,const char *format=0,Qt::ImageCoversionFlags,flags=Qt::Qt::AutoColor)

boolload(const QString &filename,const char *format=0,Qt::ImagConversionFlags,flags=Qt::AtuoColor)

一个是构造时就可以转换,一个是同load()来转换

 

 

你可能感兴趣的:(Qt)