ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-03-24 23:03:59  阅读:141  来源: 互联网

标签:10 Widget QT widget 50 --- 绘图 QWidget include


文章目录


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()
{
}

三、效果展示

在这里插入图片描述

在这里插入图片描述

标签:10,Widget,QT,widget,50,---,绘图,QWidget,include
来源: https://blog.csdn.net/weixin_46616556/article/details/114988962

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有