绘制例子
#include<QApplication>
#include <QWidget>
#include <QPainter>
class MyMainWindow:public QWidget
{
public:
MyMainWindow(QWidget *parent = 0);
private:
void paintEvent(QPaintEvent*);
QPainter *paint;
};
void MyMainWindow::paintEvent(QPaintEvent*)
//paintEvent函数由系统自动调用,用不着我们人为的去调用。
{
paint=new QPainter;
paint->begin(this);
paint->setPen(QPen(Qt::blue,4,Qt::DashLine));//设置画笔形式
paint->setBrush(QBrush(Qt::red,Qt::SolidPattern));//设置画刷形式
paint->drawRect(20,20,160,160);
paint->end();
}
MyMainWindow::MyMainWindow(QWidget*parent):QWidget(parent)
{
setGeometry(100,100,200,200);
}
int main(int argc,char**argv)
{
QApplication a(argc,argv);
MyMainWindow w;
w.show();
return a.exec();
}
输出结果:
绘制圆角矩形
绘制扇形图
绘制弦
绘制圆弧
绘制贝塞尔曲线
Draws the arc defined by the given rectangle, startAngle and spanAngle.
The startAngle and spanAngle must be specified in 1/16th of a degree, i.e. a full circle equals 5760 (16 * 360). Positive values for the angles mean counter-clockwise while negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
int startAngle = 30 * 16;
int spanAngle = 120 * 16;
QPainter painter(this);
painter.drawArc(rectangle, startAngle, spanAngle);