QBrush绘制图案不同风格展示
Qt下画刷的不同样式一共有19种,如下所示:
1 enum BrushStyle { // brush style 2 NoBrush, 3 SolidPattern, 4 Dense1Pattern, 5 Dense2Pattern, 6 Dense3Pattern, 7 Dense4Pattern, 8 Dense5Pattern, 9 Dense6Pattern, 10 Dense7Pattern, 11 HorPattern, 12 VerPattern, 13 CrossPattern, 14 BDiagPattern, 15 FDiagPattern, 16 DiagCrossPattern, 17 LinearGradientPattern, 18 RadialGradientPattern, 19 ConicalGradientPattern, 20 TexturePattern = 24 21 };
19种画刷格式绘制图案如下所示
1 void Widget::paintEvent(QPaintEvent *event) 2 { 3 Q_UNUSED(event); 4 5 QPainter painter(this); 6 7 painter.fillRect(this->rect(),QBrush(QColor(255,255,255))); 8 painter.setRenderHint(QPainter::Antialiasing);//抗锯齿 9 10 QVector<Qt::BrushStyle> bsVector; 11 12 bsVector<<Qt::BrushStyle::NoBrush<<Qt::BrushStyle::HorPattern<<Qt::BrushStyle::VerPattern<< 13 Qt::BrushStyle::BDiagPattern<<Qt::BrushStyle::CrossPattern<<Qt::BrushStyle::FDiagPattern<< 14 Qt::BrushStyle::SolidPattern<<Qt::BrushStyle::Dense1Pattern<<Qt::BrushStyle::Dense2Pattern<< 15 Qt::BrushStyle::Dense3Pattern<<Qt::BrushStyle::Dense4Pattern<<Qt::BrushStyle::Dense5Pattern<< 16 Qt::BrushStyle::Dense6Pattern<<Qt::BrushStyle::Dense7Pattern<<Qt::BrushStyle::TexturePattern<< 17 Qt::BrushStyle::DiagCrossPattern<<Qt::BrushStyle::LinearGradientPattern<<Qt::BrushStyle::RadialGradientPattern<< 18 Qt::BrushStyle::ConicalGradientPattern; 19 20 for (int i=0;i<19;i++) { 21 painter.setBrush(QBrush(QColor(255,0,0),bsVector[i])); 22 painter.drawEllipse(i*60+10,10,50,50); 23 } 24 }

记性太差,需要这么记下来

浙公网安备 33010602011771号