美文网首页
QT(绘图)

QT(绘图)

作者: 不合格码农 | 来源:发表于2019-01-08 10:22 被阅读11次

    绘图设备

    QPixmap:针对屏幕进行优化了,和平台相关,不能对图片进行修改

    QInage:和平台无关,可以对图片进行修改,在线程中绘图

    QPicture:保存绘图的状态(二进制文件)

    头文件:#include <QPainter>

    1.

    widget.h

    protected:

        //重写绘图事件,虚函数

        //如果在窗口绘图,必须放在绘图事件里实现

        //绘图事件内部自动调用,窗口需要重绘的时候(状态改变)

    void paintEvent(QPaintEvent *);

    widget.cpp

    void myWidget::paintEvent(QPaintEvent *)

    {

        //QPainter p(this);

        QPainter p;//创建画家对象

        p.begin(this);//指定当前窗口为绘图设备

        //绘图操作

        //p.drawxxx();

        //画背景图

        p.drawPixmap(0,0,width(),height(),QPixmap("../Image/22.jpg"));

        //p.drawPixmap(rect(),QPixmap("../Image/22.jpg")); //rect会直接获得所在矩形框四个边

        p.end();

    }

    头文件 

    2.窗口自动重绘

    private:  int x;

            void myWidget::on_pushButton_clicked()

    {

        x += 20;

        if(x > width())

        {

            x = 0;

        }

        //刷新窗口,让窗口重绘

        update();//间接调用

    }

    3.QPixmap -->QImage

        Qpainter p(this);

        QPixmap pixmap;

        pixmap.load("../Image/face.png");

        p.drawImage(0,0,tempImage);

      4.QImage-->QPixmaop

        QImage image;

        image.load("路径");

        QPixmap tempPixmap = QPixmap::formImage(image);

        p.drawPixmap(100,0,tempPixmap);

    相关文章

      网友评论

          本文标题:QT(绘图)

          本文链接:https://www.haomeiwen.com/subject/uijqkqtx.html