新建一个Qt项目,在 .h 文件中写入

#pragma once

#include <QtWidgets/QWidget>
#include "ui_xuexi.h" #include "QMouseEvent"
#include "QKeyEvent"
#include "QPainter" class xuexi : public QWidget
{
Q_OBJECT public:
xuexi(QWidget *parent = Q_NULLPTR); void mousePressEvent(QMouseEvent*e); // 按下
void mouseMoveEvent(QMouseEvent*e); // 移动
void mouseReleaseRvent(QMouseEvent*e); // 释放 void paintEvent(QPaintEvent* ); private:
Ui::xuexiClass ui; QPixmap pix;
QPoint lastPoint;
QPoint endPoint;
};

.cpp

#include "xuexi.h"

xuexi::xuexi(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this); resize(600, 500);
pix = QPixmap(200, 200);
pix.fill(Qt::white);
} void xuexi::mousePressEvent(QMouseEvent*e)
{
if (e->button() == Qt::LeftButton)
{
lastPoint = e->pos();
}
} void xuexi::mouseMoveEvent(QMouseEvent*e)
{
if (e->buttons() == Qt::LeftButton)
{
endPoint = e->pos();
update();
}
} void xuexi::mouseReleaseRvent(QMouseEvent* e)
{
if (e->button() == Qt::LeftButton)
{
endPoint = e->pos();
update();
}
} void xuexi::paintEvent(QPaintEvent*)
{
QPainter pp(&pix);
pp.drawLine(lastPoint, endPoint);
lastPoint = endPoint; QPainter painter(this);
painter.drawPixmap(0, 0, pix);
}

编译后就是一个简易的涂鸦板

Qt 实现涂鸦板一:简易涂鸦板的更多相关文章

  1. JSP简易留言板

    写在前面 在上篇博文JSP内置对象中介绍JSP的9个内置对象的含义和常用方法,但都是比较理论的知识.今天为大家带来一个小应用,用application制作的简易留言板. 包括三个功能模块:留言提交.留 ...

  2. DOM操作相关案例 模态对话框,简易留言板,js模拟选择器hover,tab选项卡,购物车案例

    1.模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE html> <h ...

  3. 原生node实现简易留言板

    原生node实现简易留言板 学习node,实现一个简单的留言板小demo 1. 使用模块 http模块 创建服务 fs模块 操作读取文件 url模块 便于path操作并读取表单提交数据 art-tem ...

  4. ubuntu 交叉编译qt 5.7 程序到 arm 开发板

    ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...

  5. Flask学习之旅--简易留言板

    一.写在前面 正所谓“纸上得来终觉浅,方知此事要躬行”,在看文档和视频之余,我觉得还是要动手做点什么东西才能更好地学习吧,毕竟有些东西光看文档真的难以理解,于是就试着使用Flask框架做了一个简易留言 ...

  6. php实现简易留言板效果

    首先是Index页面效果图 index.php <?php header('content-type:text/html;charset=utf-8'); date_default_timezo ...

  7. iTOP-4418开发板和6818开发板-第五路串口介绍

    iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet.   6818 的开发板最多支持 ...

  8. 【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍

    前序系列文章>>> [涂鸦物联网足迹]涂鸦云平台标准指令集 开放消息平台主要通过 Pulsar 主动推送各种事件数据给外部合作伙伴,以满足合作伙伴对消息实时性和消息持久化的要求. 一 ...

  9. Android应用开发实例篇(1)-----简易涂鸦板

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378328.html 一.概述 这次要做一个简单的涂鸦板应用,以前在Qt上实现过,突然想 ...

  10. 微信小程序实现简易留言板

    微信小程序现在很火,于是也就玩玩,做了一个简易的留言板,让大家看看,你们会说no picture you say a j8 a,好吧先上图. 样子就是的,功能一目了然,下面我们就贴实现的代码,首先是H ...

随机推荐

  1. 03、Etcd 客户端常用命令

    上一讲我们安装 etcd 服务端,这一讲我们来一起学学如何使用 etcd 客户端常见的命令.文章内容来源于参考资料,如若侵权,请联系删除,谢谢. etcd可通过客户端命令行工具 etcdctl 对et ...

  2. 【Azure 事件中心】Event Hubs中存在非常多的错误数据,是否能提前删除这些数据呢?

    问题描述 因为一些特殊原因,Event Hub 里面堆积了很多不需要的数据事件,正常要等事件中的过期时间到后才有Event Hub自动删除掉,但希望能够尽快马上删除,有没有什么手动的方法吗? 问题解答 ...

  3. Nebula Graph 源码解读系列 | Vol.05 Scheduler 和 Executor 两兄弟

    本文首发于 Nebula Graph Community 公众号 上篇我们讲述了 Query Engine Optimizer 部分的内容,在本文我们讲解下 Query Engine 剩下的 Sche ...

  4. springMvc精简整理

    精简共分步 新建一个web工程  导入核心就二包,因为springmvc 包自己有依赖 <?xml version="1.0" encoding="UTF-8&qu ...

  5. vscode vue 组件定位插件 webpack-code-inspector-plugin -- 强烈推荐 Alt+Shift+鼠标左键

    作用 alt + shift + 鼠标左键 自动跳转 vscode项目的组件代码 项目地址 https://github.com/zh-lx/code-inspector/blob/main/pack ...

  6. QT 使用QPixmap自定义光标 缩放图像模糊问题

    QT中定义光标可以使用 Qt::CursorShape 预定义 的光标,也可以使用 QBitmap 和 QPixmap 自己绘制光标.QBitmap 只有黑白2色,QPixmap可以绘制彩色光标.使用 ...

  7. day02-MySQL基础知识

    MySQL基本知识 1.数据库 1.1.创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[,create_ ...

  8. RAG 范式、技术和趋势

    这里分享同济大学 Haofen Wang的关于检索增强生成的报告:<Retrieval-Augmented Generation (RAG): Paradigms, Technologies, ...

  9. System design summary

    system design https://github.com/donnemartin/system-design-primer Performance vs scalability scalabi ...

  10. 记录--纯CSS实现骚气红丝带

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在本文中,我们将探讨如何使用 CSS 以最少的代码创造出精美的 CSS 丝带形状,并最终实现下面这个效果: 下面我们使用html和css来 ...