QT 绘制矩形,椭圆等。

#ifndef MYRECT_H
#define MYRECT_H


#include <QtGui/QWidget>


class myRect : public QWidget
{
    Q_OBJECT
    
public:
    myRect(QWidget *parent = 0);
    ~myRect();
private :
    void paintEvent(QPaintEvent *);//重载了基类的事件。
    QPainter *painter;


};


#endif // MYRECT_H
-----------------------------------------
#include "myrect.h"
#include <QPainter>
#include <QPoint>
myRect::myRect(QWidget *parent)
    : QWidget(parent)
{
 setGeometry(100,100,400,400);
}


myRect::~myRect()
{
    
}
void myRect::paintEvent(QPaintEvent *)//重载了基类的事件。
{
    painter = new QPainter;
    painter->begin(this);
    painter->setPen(QPen(Qt::blue,4,Qt::DashLine)); //设置画笔形式 参数:颜色,线的类型,
    //painter->setBrush(QBrush(Qt::red,Qt::SolidPattern)); //设置画刷形式
    // painter->drawRect(20,20,160,160);//画 矩形
   // painter->drawEllipse(20,20,210,160);  //画椭圆 //   第1,2个参数分别表示圆/椭圆距左上角的像素数。第3,4个参数表示圆/椭圆的宽度和高度。更加确切地表述,这个圆或椭圆是在矩形中,这个矩形的左上角的顶点在坐标轴中的位置为(20,20),这个圆或椭圆的中心为这个矩形的中心,以下的都相似!!!


    //painter->drawRoundRect(20,20,210,160,50,50);//绘制圆角矩形    最后两个参数决定角的圆度。它可以为0到99之间的任意值(99代表最圆)。
    // painter->drawPie(20,20,210,160,0,500);//绘制扇形图  前四个参数定义圆(与drawEllipse()函数相同)。后两个参数定义圆的样式。0为起始角度(实际单位为1/16度),500为扇形所展开的角度(单位也为1/16度)。
    //painter->drawChord(20,20,210,160,500,1000);//绘制弦


     painter->drawArc(20,20,210,160,500,1000);//绘制圆弧


    painter->end();
}
-----------------------------------------
#include <QtGui/QApplication>
#include "myrect.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    myRect w;
    w.show();
    
    return a.exec();
}































你可能感兴趣的:(object,qt)