Qt项目中,绘制只有两个圆角的矩形及QPainterPath类的应用

总第39篇

本文主要梳理总结了在Qt项目开发过程中,某些特殊场合绘制只有两个圆角矩形的方法,并在此基础上详细介绍了类QPainterPath的用法。

1.两个圆角矩形的绘制方法

在Qt项目中,绘制只有两个圆角的矩形,可以使用QPainterPath合并addRoundedRectaddRectpath形成目标path,再使用painter填充绘制此path即可。

其具体的实现代码如下:

        void ShapeWidget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);

    QString text = "欢迎关注 @武三郎 ,一起学习,共同进步!";
    int text_draw_width = painter.fontMetrics().width(text);   //计算文字的宽度
    text_draw_width += 50;

    int x = 50;
    int width = text_draw_width;
    QRect info_rect(x, 20, width, 54);

    QPainterPath path;
    path.setFillRule( Qt::WindingFill );   //设置填充方式
    path.addRoundedRect (info_rect, 10.0, 10.0);
    QRect temp_rect(info_rect.left(), info_r

你可能感兴趣的:(面向加薪编程C/C++/Qt,c++,算法,tensorflow,Qt5,类,编程语言)