绘画系统(14):【类】QRegion[官翻]
文章目录
- 详述
- 创建和使用区域
- 公共类型
- enum RegionType
- typedef const_iterator
- typedef const_reverse_iterator
- 公共函数
- 构造析构交换赋值
- 迭代器
- 界限
- 集合运算
- 矩形
- 平移
- 运算符重载
- 相关的非成员
QRegion 类
QRegion类为画家指定一个剪辑区域。
Header | #include < QRegion > |
---|---|
qmake | QT += gui |
Inherited By |
详述
QRegion与QPainter::setClipRegion() 一起使用以将绘画区域限制为需要绘画的区域。 还有一个QWidget :: repaint() 函数,它带有QRegion参数。 QRegion是最小化要通过重绘更新的屏幕区域数量的最佳工具。
此类不适用于构造要渲染的形状,尤其是轮廓。 使用QPainterPath创建用于QPainter的路径和形状。
QRegion是一个隐式共享的类。
创建和使用区域
可以从矩形,椭圆形,多边形或位图创建区域。 可以通过使用united() ,intersected() ,subtracted() 或xored() (异或)组合简单区域来创建复杂区域。 您可以使用translate() 移动区域。
您可以测试区域isEmpty() 还是包含QPoint或QRect。 可以使用boundingRect() 找到边界矩形。
在区域上进行迭代(使用begin() ,end() 或C ++ 11范围循环)将区域分解为矩形。
使用复杂区域的示例:
void MyWidget::paintEvent(QPaintEvent *){QRegion r1(QRect(100, 100, 200, 80), // r1: elliptic regionQRegion::Ellipse);QRegion r2(QRect(100, 120, 90, 30)); // r2: rectangular regionQRegion r3 = r1.intersected(r2); // r3: intersectionQPainter painter(this);painter.setClipRegion(r3);... // paint clipped graphics}
另请参见QPainter :: setClipRegion() ,QPainter :: setClipRect() 和QPainterPath。
公共类型
enum RegionType
指定要创建的区域的形状。
Constant | Value | Description |
---|---|---|
Rectangle | 0 | 该区域覆盖整个矩形。 |
Ellipse | 1 | 该区域是矩形内的椭圆。 |
typedef const_iterator
组成区域的不重叠矩形上的迭代器
所有矩形的并集等于原始区域。QRegion不提供可变的迭代器。
另请参见begin() 和end() 。
typedef const_reverse_iterator
在组成区域的非重叠矩形上的反向迭代器
所有矩形的并集等于原始区域。QRegion不提供可变的迭代器。
另请参见rbegin() 和rend() 。
公共函数
构造析构交换赋值
- QRegion(const QBitmap &bm)
- QRegion(QRegion &&other)
- QRegion(const QRegion &r)
- QRegion(const QPolygon &a, Qt::FillRule fillRule = Qt::OddEvenFill)
- QRegion(const QRect &r, QRegion::RegionType t = Rectangle)
- QRegion(int x, int y, int w, int h, QRegion::RegionType t = Rectangle)
- QRegion()
- QRegion & operator=(QRegion &&other)
- QRegion & operator=(const QRegion &r)
- void swap(QRegion &other)
迭代器
- QRegion::const_iterator begin() const
- QRegion::const_iterator end() const
- QRegion::const_iterator cbegin() const
- QRegion::const_iterator cend() const
- QRegion::const_reverse_iterator crbegin() const
- QRegion::const_reverse_iterator crend() const
- QRegion::const_reverse_iterator rbegin() const
- QRegion::const_reverse_iterator rend() const
界限
- bool contains(const QPoint &p) const
- bool contains(const QRect &r) const
- bool isEmpty() const
- bool isNull() const
集合运算
- QRegion intersected(const QRegion &r) const
- QRegion intersected(const QRect &rect) const
- bool intersects(const QRegion ®ion) const
- bool intersects(const QRect &rect) const
- QRegion united(const QRegion &r) const
- QRegion united(const QRect &rect) const
- QRegion xored(const QRegion &r) const
- QRegion subtracted(const QRegion &r) const
矩形
- QRect boundingRect() const
- int rectCount() const
- void setRects(const QRect *rects, int number)
平移
- void translate(int dx, int dy)
- void translate(const QPoint &point)
- QRegion translated(int dx, int dy) const
- QRegion translated(const QPoint &p) const
运算符重载
- QVariant operator QVariant() const
- bool operator!=(const QRegion &other) const
- const QRegion operator&(const QRegion &r) const
- const QRegion operator&(const QRect &r) const
- QRegion & operator&=(const QRegion &r)
- QRegion & operator&=(const QRect &r)
- const QRegion operator+(const QRegion &r) const
- const QRegion operator+(const QRect &r) const
- QRegion & operator+=(const QRegion &r)
- QRegion & operator+=(const QRect &rect)
- const QRegion operator-(const QRegion &r) const
- QRegion & operator-=(const QRegion &r)
- bool operator==(const QRegion &r) const
- const QRegion operator^(const QRegion &r) const
- QRegion & operator^=(const QRegion &r)
- const QRegion operator|(const QRegion &r) const
- QRegion & operator|=(const QRegion &r)
相关的非成员
- QDataStream & operator<<(QDataStream &s, const QRegion &r)
- QDataStream & operator>>(QDataStream &s, QRegion &r)
绘画系统(14):【类】QRegion[官翻]相关推荐
- QFileDevice 类【官翻】
文章目录 一.详述 二.公共类型 三.公共函数 四.重新实现的公共函数 五.重新实现受保护的函数 QFileDevice 类 QFileDevice类提供用于读取和写入打开文件的接口. Header: ...
- QSettings 类【官翻】
文章目录 详述 基本用法 QVariant和GUI类型 Section 和 Key 的语法 后备机制 恢复GUI应用程序的状态 同时从多个线程或进程访问设置 特定于平台的说明 应用程序设置的存储位置 ...
- QFileInfo 类【官翻】
文章目录 详述 性能问题 公共函数 创建及析构 目录 路径.文件名及后缀 时间信息 缓存 属性 类型 访问权限 比较 静态公用函数 相关的非成员 QFileInfo 类 QFileInfo类提供与系统 ...
- QStorageInfo 类【官翻】
文章目录 详述 公共函数 静态公共函数 相关非成员 QStorageInfo 类 提供有关当前安装的存储和驱动器的信息. Header: #include < QStorageInfo > ...
- QFile 类【官翻】
文章目录 详述 直接读取文件 使用流读取文件 信号 平台特定问题 公共类型 公共函数 重新实现的公共函数 静态公用函数 QFile 类 QFile类提供用于读取和写入文件的接口. Header: #i ...
- Qt 线程(02):线程类【官翻】
线程类 类名 简介 Concurrent Filter and Filter-Reduce Concurrent Map and Map-Reduce Concurrent Run QAtomicIn ...
- 绘画系统(03):【类】QPainter[官翻]
文章目录 详述 Settings Drawing 绘制Pixmaps和Images 绘制高分辨率的Pixmaps和Images 渲染质量 坐标转换 剪切 组合方式 局限性 Performance 公共 ...
- 绘画系统(04):【类】QPaintDevice[官翻]
文章目录 详述 公共类型 enum PaintDeviceMetric 公共函数 受保护的函数 QPaintDevice 类 QPaintDevice类是可以用QPainter绘制对象的基类 Head ...
- 绘画系统(02):【纲】Paint Devices and Backends[官翻]
绘画设备和后端 Paint Devices and Backends 创建绘画设备 QPaintDevice类是可以绘制的对象的基类,即QPainter可以在任何QPaintDevice子类上绘制 ...
最新文章
- vector 声明固定长度的数组
- 设置最小值与最大值 css,一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景...
- 大话ion系列(四)
- gateway sentinel 熔断 不起作用_Spring Cloud Alibaba集训营第五天(服务熔断和限流)
- Errors reported here must be corrected before the service can be started.
- docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群
- 中小企业上云如何选择及操作
- 【cs229-Lecture8】顺序最小优化算法
- Atitit 版本管理----分支管理Atit
- 2020.8.28丨转录组、全转录组方案设计和案例解析
- C语言某一身高下不同体重对应的BMI值表
- 小甲鱼零基础入门学习Python(绝对干货,值得学习)
- 托托又来了——PCA实现人脸识别
- 暖暖环游世界显示服务器异常,暖暖环游世界
- Nginx 部署 静态资源路径问题
- 模糊综合评价法遇到一些问题
- FairyGUI人物状态弹窗
- scanf() 与 scanf_s() 的区别
- DW 2023年1月Free Excel 第六次打卡 查找函数
- Go exec 包执行命令超时失效问题分析及解决方案