QT中QPainter的使用及矩形、圆形等常见图形的画法
2012-08-20 11:08
381 查看
#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();
}
输出结果:
绘制圆和椭圆
核心代码:
paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawEllipse(20,20,210,160);
第1,2个参数分别表示圆/椭圆距左上角的像素数。第3,4个参数表示圆/椭圆的宽度和高度。更加确切地表述,这个圆或椭圆是在矩形中,这个矩形的左上角的顶点在坐标轴中的位置为(20,20),这个圆或椭圆的中心为这个矩形的中心,以下的都相似!!!
绘制圆角矩形
核心代码:
paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawRoundRect(20,20,210,160,50,50);
最后两个参数决定角的圆度。它可以为0到99之间的任意值(99代表最圆)。
绘制扇形图
核心代码:
paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawPie(20,20,210,160,0,500);
前四个参数定义圆(与drawEllipse()函数相同)。后两个参数定义圆的样式。0为起始角度(实际单位为1/16度),500为扇形所展开的角度(单位也为1/16度)。
绘制弦
核心代码:
paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawChord(20,20,210,160,500,1000);
drawChord()函数与drawPie()函数的参数完全相同。
绘制圆弧
核心代码:
paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawArc(20,20,210,160,500,1000);
drawArc()函数与drawPie()函数的参数完全相同。
绘制贝塞尔曲线
核心代码:
paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawQuadBezier(QPointArray(QRect(20,20,210,160)));
传递给该函数的唯一一个参数表示一个矩形,在其中创建贝塞尔曲线(其他参数为缺省参数,可以省略)。
相关文章推荐
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT4中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT画图教程5:QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT中QPainter的使用及矩形、圆形等常见图形的画法
- QT 使用QPainter 绘制图形 和 世界变换 world transform
- 使用原生JavaScript的Canvas实现拖拽式图形绘制,支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形,不依赖任何库和插件,有演示demo
- QT 使用QPainter 绘制图形 和 世界变换 world transform
- qt中如果使用svg格式的图片在QPainter中绘制图形
- 通过程序设计几何图形、矩形、圆形、正方形几种类型,能够利用接口和多态性计算几何图形的面积和周长并显示。
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等),碉堡了!
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
- 使用图形界面描述矩形
- Android中使用Bitmap类将矩形图片转为圆形的方法