当前位置:   article > 正文

QGraphicsView用法总结

qgraphicsview
  • QGraphicsView用以展示QGraphicsScene对象
  • QGraphicsView可以展示QGraphicsScene的全部,也可以展示其一部分
  QGraphicsScene scene;
  scene.addText("Hello, world!");

  QGraphicsView view(&scene);
  view.show();
  • 1
  • 2
  • 3
  • 4
  • 5

设置视图中间点

centerOn();
  • 1

确保某一点在视图中可见

ensureVisible();
  • 1

默认视图大小

QGraphicsScene::itemsBoundingRect();
  • 1

手动设置视图大小

setSceneRect();
  • 1

设置显示风格

包括:
- 设置显示区大小
- 设置显示提示

  QGraphicsScene scene;
  scene.addRect(QRectF(-10, -10, 20, 20));

  QGraphicsView view(&scene);
  view.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
  view.show();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

改变视图窗口所在的QWidget

  • QGraphicsView拥有对窗口的所有权
  • 访问QWidget
viewport()
  • 1
  • 替换QWidget(用OpenGL)
setViewport()
  • 1

图像变换

  • 旋转、缩放、转化(根据横纵坐标)
rotate(qreal angle);
scale(qreal sx, qreal sy);
translate(qreal dx, qreal dy);
shear(qreal sh, qreal sv);//剪切
  • 1
  • 2
  • 3
  • 4

键盘、鼠标控制

  • 因为继承了 QGraphicsSceneEvent 类
  • 选中、拖拽视图中的某一项
//响应开关
setInteractive(bool allowed)
  • 1
  • 2

自定义控制响应

  • 继承 QGraphicsView
  • 重写鼠标和键盘 事件响应器
  • Qt提供了 mapToScene() 和 mapFromScene() 用来视图中,点与点,点与区域,区域与区域之间的映射。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/91685
推荐阅读
相关标签
  

闽ICP备14008679号