QT笔记

1.QGraphicsItem -- 是个基类



2.QGraphicsScene

class QGraphicsScene : public QObject


3.QGraphicsView 

class QGraphicsView : public QAbstractScrollArea
class QAbstractScrollArea : public QFrame
class QFrame : public QWidget
class QWidget : public QObject, public QPaintDevice


4.QGraphicsItem

QGraphicsItem的paint()函数被QgrapicsView类调用来绘制图元的内容


5. QGraphicsItem 

 QVariant itemChange(GraphicsItemChange change, const QVariant & value)

 itemChange函数被QGraphicsItem调用用来标识图元的状态改变了,通过重载itemChange函数,可以对自己定义事件响应。


6.

QGraphicView中提供了三种拖拽模式,分别是:

    QGraphicsView::NoDrag :忽略鼠标事件,不可以拖动。

    QGraphicsView::ScrollHandDrag :光标变为手型,可以拖动场景进行移动。

    QGraphicsView::RubberBandDrag :使用橡皮筋效果,进行区域选择,可以选中一个区域内的所有图元。


7.QGraphicsProxyWidget
 widget代理,用于将一个QWidget对象嵌入一个QGraphicsScene中


Example:

 
 
  int main(int argc, char **argv)
  {
      QApplication app(argc, argv);
 
 
      QTabWidget *tabWidget = new QTabWidget;
 
 
      QGraphicsScene scene;
      QGraphicsProxyWidget *proxy = scene.addWidget(tabWidget);
 
 
      QGraphicsView view(&scene);
      view.show();
 
 
      return app.exec();
  }
 
 





猜你喜欢

转载自blog.csdn.net/wishfly/article/details/77816327