QtQPainter的使用及矩形圆形等常见图形的画法:QtQPainter的使用及矩形圆形等常见图形的画法

Qt QPainter的使用及矩形、圆形等常见图形的画法,我来为大家科普一下关于QtQPainter的使用及矩形圆形等常见图形的画法:QtQPainter的使用及矩形圆形等常见图形的画法?下面希望有你要的答案,我们一起来看看吧!

QtQPainter的使用及矩形圆形等常见图形的画法:QtQPainter的使用及矩形圆形等常见图形的画法

QtQPainter的使用及矩形圆形等常见图形的画法:QtQPainter的使用及矩形圆形等常见图形的画法

Qt QPainter的使用及矩形、圆形等常见图形的画法

1 #include<QApplication> 2 #include <QWidget> 3 #include <QPainter> 4 class MyMainWindow:public QWidget 5 { 6 public: 7 MyMainWindow(QWidget *parent = 0); 8 private: 9 void paintEvent(QPaintEvent*); 10 QPainter *paint; 11 }; 12 13 14 void MyMainWindow::paintEvent(QPaintEvent*) 15 16 //paintEvent函数由系统自动调用,用不着我们人为的去调用。 17 { 18 paint=new QPainter; 19 paint->begin(this); 20 paint->setPen(QPen(Qt::blue,4,Qt::DashLine));//设置画笔形式 21 paint->setBrush(QBrush(Qt::red,Qt::SolidPattern));//设置画刷形式 22 paint->drawRect(20,20,160,160); 23 paint->end(); 24 } 25 26 27 MyMainWindow::MyMainWindow(QWidget*parent):QWidget(parent) 28 { 29 setGeometry(100,100,200,200); 30 } 31 32 33 int main(int argc,char**argv) 34 { 35 QApplication a(argc,argv); 36 MyMainWindow w; 37 w.show(); 38 return a.exec(); 39 }

绘制圆和椭圆

核心代码:

1 paint->setPen(QPen(Qt::blue,4,Qt::SolidLine)); 2 paint->drawEllipse(20,20,210,160);

第1,2个参数分别表示圆/椭圆距左上角的像素数。第3,4个参数表示圆/椭圆的宽度和高度。更加确切地表述,这个圆或椭圆是在矩形中,这个矩形的左上角的顶点在坐标轴中的位置为(20,20),这个圆或椭圆的中心为这个矩形的中心,以下的都相似!!!

【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】

点击→领取「链接」

绘制圆角矩形

核心代码:

1 paint->setPen(QPen(Qt::blue,4,Qt::SolidLine)); 2 paint->drawRoundRect(20,20,210,160,50,50);

最后两个参数决定角的圆度。它可以为0到99之间的任意值(99代表最圆)。

绘制扇形图

核心代码:

1 paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); 2 paint->drawPie(20,20,210,160,0,500);

前四个参数定义圆(与drawEllipse()函数相同)。后两个参数定义圆的样式。0为起始角度(实际单位为1/16度),500为扇形所展开的角度(单位也为1/16度)。

绘制弦

核心代码:

1 paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); 2 paint->drawChord(20,20,210,160,500,1000);

drawChord()函数与drawPie()函数的参数完全相同。

绘制圆弧

核心代码:

1 paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); 2 paint->drawArc(20,20,210,160,500,1000);

drawArc()函数与drawPie()函数的参数完全相同。

绘制贝塞尔曲线

核心代码:

1 paint->setPen(QPen(Qt::green,4,Qt::SolidLine)); 2 paint->drawQuadBezier(QPointArray(QRect(20,20,210,160)));

传递给该函数的唯一一个参数表示一个矩形,在其中创建贝塞尔曲线(其他参数为缺省参数,可以省略)。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页