QT的RotatedRect填充颜色
时间: 2024-09-19 18:03:47 浏览: 42
QT实现多边形填充算法
在Qt中,如果你想要旋转一个矩形并填充特定颜色,可以使用`QPainter`类配合`drawRotatedRect()`和`save()`/`restore()`方法。首先,你需要准备一个`QRectF`表示旋转后的矩形,然后通过旋转坐标系来绘制。这里是一个基本的示例:
```cpp
QRectF rect = QRectF(0, 0, 100, 100); // 原始矩形
qreal rotationAngleInDegrees = 45; // 旋转角度
// 创建QPainter
QPainter painter(window); // window 是你的窗口或绘图区域
// 保存当前坐标系统状态
painter.save();
// 设置旋转中心点
painter.translate(rect.center());
// 设置旋转角度
painter.rotate(rotationAngleInDegrees * Q庫::degToRad);
// 绘制旋转后的矩形
painter.fillRect(rect.marginsRemoved(QMargins()), QColor(Qt::white)); // 填充白色
// 恢复原始坐标系统状态
painter.restore();
```
在这个例子中,`rect.marginsRemoved(QMargins())`会去掉旋转矩形边缘留下的空白部分,保持旋转后矩形的原尺寸。
阅读全文