zoukankan      html  css  js  c++  java
  • 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);
    
    
    }

  • 相关阅读:
    关于Oracle过程,函数的经典例子及解析
    describeType的使用
    Flash Pro CS5无法跳过注册Adobe ID的问题
    DOM的滚动
    Flex的LogLogger类
    浏览器无法打开Google服务
    as3中颜色矩阵滤镜ColorMatrixFilter的使用
    仿Google+相册的动画
    Flex中ModuleManager的一个bug
    有序的组合
  • 原文地址:https://www.cnblogs.com/fuhang/p/9900123.html
Copyright © 2011-2022 走看看