网站推广软件免费版下载,沧州网站建设优化公司,系统开发包括什么,抖音推广怎么收费目录 介绍常用函数相关枚举常用信号常用槽 介绍
QGraphicsView提供了一个窗口部件#xff0c;用于显示QGraphicsScene中的内容#xff1b;其充当了视图的角色#xff0c;可以将场景中的2D图形项渲染到屏幕上#xff0c;并支持用户与这些项的交互。
常用函数
函数描述QGr… 目录 介绍常用函数相关枚举常用信号常用槽 介绍
QGraphicsView提供了一个窗口部件用于显示QGraphicsScene中的内容其充当了视图的角色可以将场景中的2D图形项渲染到屏幕上并支持用户与这些项的交互。
常用函数
函数描述QGraphicsScene *scene() const返回与视图关联的场景void setScene(QGraphicsScene *scene)设置与视图关联的场景void setRenderHint(QPainter::RenderHint hint, bool enabled true)设置渲染提示如抗锯齿void setDragMode(QGraphicsView::DragMode mode)设置拖动模式如平移或缩放void centerOn(const QPointF pos)将视图中心移动到指定位置void scale(qreal sx, qreal sy)缩放视图void rotate(qreal angle)旋转视图void translate(qreal dx, qreal dy)平移视图QTransform transform() const返回视图的变换矩阵void setViewportUpdateMode(QGraphicsView::ViewportUpdateMode mode)设置视口更新模式以优化渲染性能void setBackgroundBrush(const QBrush brush)设置视图的背景画刷void setViewport(QWidget *viewport)设置视图的视口部件void setMatrix(const QMatrix matrix, bool combine false)设置视图的变换矩阵void setTransform(const QTransform transform, bool combine false)设置视图的变换void setTransformationAnchor(QGraphicsView::TransformationAnchor anchor)设置变换锚点void setResizeAnchor(QGraphicsView::ResizeAnchor anchor)设置调整大小锚点void setOptimizationFlag(QGraphicsView::OptimizationFlags flag, bool enabled true)设置优化标志void setRubberBandSelectionMode(Qt::ItemSelectionMode mode)设置橡皮筋选择模式void setInteractive(bool allowed)设置视图是否允许交互void setAlignment(Qt::Alignment alignment)设置对齐方式void setCacheMode(QGraphicsView::CacheMode mode)设置缓存模式
相关枚举
设置渲染提示void setRenderHint(QPainter::RenderHint hint, bool enabled true) 其中QPainter::RenderHint 包括
QPainter::Antialiasing 启用边缘的反锯齿绘制使图形边缘看起来更平滑。QPainter::TextAntialiasing启用文本的反锯齿绘制使文本显示更清晰。QPainter::SmoothPixmapTransform使用平滑的像素图变换算法如双线性插值而不是邻近插值算法使图像缩放和变换时更平滑。QPainter::HighQualityAntialiasing提供更高质量的反锯齿效果但可能会降低性能。QPainter::NonCosmeticDefaultPen指定非装饰性的默认画笔。QPainter::Qt4CompatiblePainting启用与Qt 4兼容的绘制模式。QPainter::LosslessImageRendering尝试无损渲染图像。 bool enabled: 这个参数指定是否启用该渲染提示设置为true则启用false禁用默认值为true。
设置拖动模式void setDragMode(QGraphicsView::DragMode mode)其中QGraphicsView::DragMode 包括:
QGraphicsView::NoDrag用户无法通过拖拽来移动视图或场景。QGraphicsView::ScrollHandDrag用户的鼠标光标会变成一个手形图标用户可以通过拖拽来滚动视图的内容适用于浏览大型场景或地图。QGraphicsView::RubberBandDrag用户可通过拖拽来选择一个矩形区域该区域内的所有图形项都会被选中常用于图形编辑软件中进行区域选择。
设置视口更新模式void setViewportUpdateMode(QGraphicsView::ViewportUpdateMode mode) 其中QGraphicsView::ViewportUpdateMode 包括
QGraphicsView::MinimalViewportUpdate只有场景中实际发生变化的部分会被更新尤其是在处理大型场景时可以提高性能默认模式。QGraphicsView::FullViewportUpdate每当场景中的任何可见部分发生变化或重新曝光时视图将更新整个视口。在处理复杂场景时可能会导致性能下降。QGraphicsView::SmartViewportUpdate视图会根据需要智能地决定是更新整个视口还是只更新变化的部分这是一种折中旨在平衡性能和准确性。QGraphicsView::BoundingRectViewportUpdate重绘视口中所有更改的边界矩形。此模式优点是QGraphicsView只在一个区域中搜索更改从而最大限度地减少了确定需要重绘的内容所花费的时间缺点是未更改的区域也需要重绘。QGraphicsView::NoViewportUpdate场景更改时永远不会更新其视口用户需要控制所有更新。此模式禁用QGraphicsView中所有可能很慢项目可见性测试适用于需要固定帧速率或以其他方式从外部更新视口的场景。
设置变换的锚点void setTransformationAnchor(QGraphicsView::TransformationAnchor anchor)其中QGraphicsView::TransformationAnchor 包括
QGraphicsView::NoAnchor没有特定的锚点变换操作不会影响场景的位置。QGraphicsView::AnchorUnderMouse: 变换操作会以鼠标光标下的点为基准点进行锚点在鼠标下方适合简单拖动。QGraphicsView::AnchorViewCenter变换操作会以视图的中心点为基准点进行。QGraphicsView::AnchorUnderMouseCursor变换操作以鼠标光标的当前位置进行锚点精确于光标位置更适合复杂交互。
设置调整大小锚点 void setResizeAnchor(QGraphicsView::ResizeAnchor anchor)其中QGraphicsView::ResizeAnchor 包括
QGraphicsView::NoAnchor没有特定的锚点调整视图大小时场景的位置不会受到影响。QGraphicsView::KeepAspectRatio保持场景的宽高比调整视图大小时场景会按照比例缩放。QGraphicsView::KeepAspectRatioByExpanding保持场景的宽高比若需要场景会被扩展以填充整个视图。QGraphicsView::AnchorViewCenter场景的中心点固定在视图的中心调整视图大小时场景会围绕中心点缩放。
设置优化标志 void setOptimizationFlag(QGraphicsView::OptimizationFlags flag, bool enabled true)其中QGraphicsView::OptimizationFlags 包括
QGraphicsView::DontSavePainterState禁用保存和恢复绘图器状态这可能会提高性能但可能会导致绘图错误。QGraphicsView::DontAdjustForAntialiasing禁用针对反锯齿的调整可能会提高性能但可能会影响视觉效果。QGraphicsView::IndirectPainting启用间接绘制可以减少绘图调用但可能会增加内存使用。QGraphicsView::DontClipPainter禁用绘图器的裁剪可能会提高性能但可能会导致绘图超出预期区域。 bool enabled: 这个参数指定是否启用该优化标志设置为true则启用false禁用默认值为true。
设置橡皮筋模式框选效果橡皮筋框Rubber Band指的是用户通过鼠标拖动以选择多个项目时出现的可视化反馈矩形框这个框通常具有半透明效果用于指示当前选择的区域。void setRubberBandSelectionMode(Qt::ItemSelectionMode mode) 其中Qt::ItemSelectionMode 包括
Qt::ContainsItemShape若橡皮筋框完全包含项目的实际形状时该项目才会被选中。Qt::IntersectsItemShape若橡皮筋框与项目的实际形状有任何交集该项目被选中。Qt::ContainsItemBoundingRect若橡皮筋框完全包含项目的边界矩形该项目才会被选中。Qt::IntersectsItemBoundingRect若橡皮筋框与项目的边界矩形有任何交集该项目被选中。 项目的边界矩形可能比实际形状更大。橡皮筋选择模式仅在使用RubberBandDrag模式时有效。
设置对齐模式void setAlignment(Qt::Alignment alignment)其中Qt::Alignment包括
Qt::AlignLeft向左对齐。Qt::AlignRight向右对齐。Qt::AlignTop向上对齐。Qt::AlignBottom向下对齐。Qt::AlignHCenter水平中心对齐。Qt::AlignVCenter垂直中心对齐。 可使用各项的组合。
设置缓存模式void setCacheMode(QGraphicsView::CacheMode mode)其中QGraphicsView::CacheMode 包括
QGraphicsView::NoCache不使用缓存QGraphhicsView::CacheBackground缓存背景这可以提高滚动性能。
常用信号
信号描述void viewportEntered()鼠标光标进入视口时发射void viewportExited()鼠标光标离开视口时发射void scrollContentsBy(int dx, int dy)视图内容滚动时发射void rubberBandChanged(QRubberBand::Shape newShape)橡皮筋框选择形状改变时发射
常用槽
槽描述void updateScene(const QRectF rect)更新场景的一部分void updateScene()更新整个场景void ensureVisible(const QRectF rect, int xmargin 50, int ymargin 50)确保指定的矩形区域在视图中可见void fitInView(const QRectF rect, Qt::AspectRatioMode aspectRatioMode Qt::IgnoreAspectRatio)调整视图以适应指定的矩形区域void centerOn(const QPointF pos)将视图中心移动到指定位置
博文参考https://blog.csdn.net/github_37290846/article/details/139706303