qt中用paintevent绘制widget的框架
时间: 2023-07-13 19:15:00 浏览: 92
我们可以自己改变当前点的位置。-QT PPT教程
在 Qt 中使用 `paintEvent()` 绘制 `QWidget` 的框架如下:
```cpp
void MyWidget::paintEvent(QPaintEvent *event)
{
// 创建绘画对象
QPainter painter(this);
// 绘制代码
// ...
// 结束绘制
painter.end();
}
```
在 `paintEvent()` 函数中,首先创建一个 `QPainter` 对象,然后在其中实现绘制代码。绘制完成后,需要调用 `end()` 函数结束绘制。
下面是一个简单的例子,绘制一个红色的矩形:
```cpp
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
// 设置画刷颜色为红色
painter.setBrush(QColor(Qt::red));
// 绘制矩形
painter.drawRect(10, 10, 100, 100);
painter.end();
}
```
在这个例子中,首先创建了一个 `QPainter` 对象,然后设置了画刷颜色为红色,接着使用 `drawRect()` 函数绘制了一个矩形。最后调用 `end()` 函数结束了绘制。
需要注意的是,`paintEvent()` 函数是在需要重绘 `QWidget` 时自动调用的,因此在需要触发重绘时,可以使用 `update()` 函数来调用 `paintEvent()` 函数。
阅读全文