/*
* 一、新建QT GUI, 基類選擇QWidget,取消「建立界面」
* 二、添加資源文件qtlogn:在項目之下添加一個「resources」文件,裏面存放"qtblog.png",而後
* 文件-->新建文件/項目--->Qt---> Qt Resource File
* 三、在widget.h中添加#include <QPainter>和重寫繪畫事件定義:
* protected:
void paintEvent(QPaintEvent *event);
* 四、在widget.cpp中添加劇繪事件this
*/3d
一、QRadialGradientcode
void Widget::paintEvent(QPaintEvent *event) { QPainter painter; painter.begin(this); QRadialGradient gradient(50, 50, 50, 50, 50); gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1)); gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0)); QBrush brush(gradient); painter.setBrush(brush); painter.drawRect(0, 0, 100, 100); painter.end(); }
二、設置畫刷爲pixmap文件orm
void Widget::paintEvent(QPaintEvent *event) { QPainter painter; painter.begin(this); QPixmap pixmap("F:\\MyCode\\brush\\resources\\qtblog.png"); int w = pixmap.width(); int h = pixmap.height(); pixmap.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); QBrush brush(pixmap); //設置畫刷爲pixmap文件:也就是用pixmap圖形填充矩形 painter.setBrush(brush); painter.drawRect(0, 0, w, h); painter.end(); }
三、設置畫刷的填充顏色blog
void Widget::paintEvent(QPaintEvent *event) { QPainter painter; painter.begin(this); painter.setPen(Qt::blue); painter.setBrush(QBrush(Qt::green, Qt::Dense3Pattern)); painter.drawEllipse(10, 10, 100,100); painter.setBrush(Qt::NoBrush); painter.drawEllipse(80, 10, 100, 100); painter.end(); }
資源文件事件