QT基础学习(10)---简单的绘图

文章目录


QT绘图事件

一、绘图

Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。

二、简单的绘图使用(模拟表盘)

1.建立文件drawer

2.在widget.h进行修改

#ifndef WIDGET_H
#define WIDGET_H


#include <QWidget>
#include <QDebug> //打印调试信息
#include <QPainter> //画的头文件


class Widget : public QWidget
{
Q_OBJECT


public:
Widget(QWidget *parent = 0);
~Widget();
void paintEvent(QPaintEvent *event)  //绘图事件的方法
{
    qDebug()<<"1111111";
    QPainter p(this); //画在主屏幕上
   // p.drawEllipse(QPoint(0,0),100,100); //画一个圆 画在0,0坐标 长和宽都是100
    p.translate(this->width()/2,this->height()/2);  //将画家搬到正中心 宽度/2 高度/2
    p.drawEllipse(QPoint(0,0),100,100); //画一个圆 画在0,0坐标 长和宽都是100
    //p.drawLine(0,0,50,50);  //在圆里画一条线
    p.rotate(i++*6);  //围绕圆点转动
    p.drawLine(0,0,50,50);  //在圆里画一条线
 }
void timerEvent(QTimerEvent *event)   //设置定时器
{
    update();  //调用一次进行强制刷新 来激活paintEvent




}
private:
int i;
};


#endif // WIDGET_H

3.修改widget.cpp

#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
i=0;
startTimer(1000); //设置定时时间
}
Widget::~Widget()
{
}

三、效果展示

QT基础学习(10)---简单的绘图

QT基础学习(10)---简单的绘图

上一篇:QT界面开发-窗口滚动条【转发】


下一篇:Qt Creator 窗口部件