在上一次介绍中已经实现了自定义控件,并把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(,0xFF,);//设置颜色
QPen pen(green);//定义画笔
painter.setPen(pen);
painter.drawRect(,,,); }
也可以设置线的宽度和样式
void CircleWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
//painter.setBrush(QBrush(QColor(0x00,0xFF,0x00)));
//painter.drawEllipse(QPoint(100,100),100,100);
QColor green(,0xFF,);//设置颜色
QPen pen(green);//定义画笔
pen.setWidth();//
pen.setStyle(Qt::DashDotDotLine);
painter.setPen(pen);
painter.drawRect(,,,); }
填充颜色:
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(,,,); }
如何更改画布颜色,可以通过上面的方式,先获取画布的长和宽,然后画一个长方形,再将长方形颜色添加为想要的颜色
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(,,width,height); }