qt 中画线时如何设置笔的颜色和填充

Posted fuhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 中画线时如何设置笔的颜色和填充相关的知识,希望对你有一定的参考价值。

在上一次介绍中已经实现了自定义控件,并把Widget 放入了主界面中,画了一个圆,具体可参考“QT 自定义窗口”

下面我们介绍一下如何设置画笔颜色和所画图形的填充颜色。

画笔颜色:

void CircleWidget::paintEvent(QPaintEvent *event)
{
      QPainter painter(this);
      //painter.setBrush(QBrush(QColor(0x00,0xFF,0x00)));
      //painter.drawEllipse(QPoint(100,100),100,100);
      QColor green(0,0xFF,0);//设置颜色
      QPen pen(green);//定义画笔
      painter.setPen(pen);
      painter.drawRect(100,100,50,30);

}

技术分享图片

也可以设置线的宽度和样式

void CircleWidget::paintEvent(QPaintEvent *event)
{
        QPainter painter(this);
         //painter.setBrush(QBrush(QColor(0x00,0xFF,0x00)));
         //painter.drawEllipse(QPoint(100,100),100,100);
         QColor green(0,0xFF,0);//设置颜色
         QPen pen(green);//定义画笔
         pen.setWidth(5);//
         pen.setStyle(Qt::DashDotDotLine);
         painter.setPen(pen);
         painter.drawRect(100,100,50,30);


}

技术分享图片

填充颜色:

void CircleWidget::paintEvent(QPaintEvent *event)
{
      QPainter painter(this);
      QBrush brush(QColor(0x00,0xFF,0x00));
      painter.setBrush(brush);
      //painter.drawEllipse(QPoint(100,100),100,100);

      painter.drawRect(100,100,50,30);


}

技术分享图片

如何更改画布颜色,可以通过上面的方式,先获取画布的长和宽,然后画一个长方形,再将长方形颜色添加为想要的颜色

void CircleWidget::paintEvent(QPaintEvent *event)
{
        QPainter painter(this);
        int width=this->width();
        int height=this->height();
         QBrush brush(QColor(0xFF,0xFF,0xFF));
         painter.setBrush(brush);

         painter.drawRect(0,0,width,height);


}

技术分享图片

以上是关于qt 中画线时如何设置笔的颜色和填充的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone / iPad 中画线

在UIView中画线

在 Phaser 3 中画线

如何在OpenGL中画线?

怎样在matlab中画矩形并填充颜色?

画线时触摸结束时线不一致