在QT中使用qpainter在pushbutton中画矩形并且使用c++语句
时间: 2024-03-11 10:48:20 浏览: 258
利用QPainter绘制各种图形
3星 · 编辑精心推荐
可以使用QPushButton的paintEvent函数来在按钮中绘制矩形。以下是示例代码:
```cpp
void MyPushButton::paintEvent(QPaintEvent *event)
{
QPushButton::paintEvent(event); // 调用父类的paintEvent函数
QPainter painter(this);
painter.setPen(QPen(Qt::black, 2));
painter.setBrush(Qt::red);
painter.drawRect(rect().adjusted(10, 10, -10, -10));
}
```
在这个例子中,我们重写了MyPushButton的paintEvent函数,并在其中调用了QPushButton的paintEvent函数,以便让按钮的原有绘制逻辑得以执行。然后,我们创建一个QPainter对象,在按钮上绘制一个黑色边框、红色填充的矩形。
`rect()`函数返回按钮的矩形区域,`adjusted()`函数可以调整矩形的边距,以便让矩形不会太靠近按钮的边缘。
你可以将上述代码添加到自己的MyPushButton类中,或者直接将其添加到QPushButton的子类中。
阅读全文