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

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

例程://QT4中矩形的画法

#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)));
传递给该函数的唯一一个参数表示一个矩形,在其中创建贝塞尔曲线(其他参数为缺省参数,可以省略)。
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值