当前位置: 首页 > news >正文

政府 网站建设自查报告图片识别 在线识图

政府 网站建设自查报告,图片识别 在线识图,编程培训机构怎么选,Wordpress福利资源模板一、绘制示例图 下图绘制的是矩形对象,但是将绘制矩形函数(drawRect)更改为绘制圆形(drawEllipse)即可绘制圆形。 二、思路解释 绘制矩形需要自然要获取矩形数据,因此通过鼠标事件获取每个矩形的rect数…

一、绘制示例图

下图绘制的是矩形对象,但是将绘制矩形函数(drawRect)更改为绘制圆形(drawEllipse)即可绘制圆形。
请添加图片描述

二、思路解释

  1. 绘制矩形需要自然要获取矩形数据,因此通过鼠标事件获取每个矩形的rect数据(鼠标按下为起始点,鼠标释放为结束点;每次移动时的当前位置做结束点,并实时刷新,实现图形跟随鼠标绘制);
  2. 因为需要绘制多个,所以存在一个中转对象(当前图形)和历史图形容器(因为每次刷新是界面全部清空重新绘制,所以需要保存历史数据);
  3. 最后在绘制事件/函数绘制当前和历史容器中的图形即可

三、源码

CMainWindow.h

#ifndef CMAINWINDOW_H
#define CMAINWINDOW_H#include <QMainWindow>
#include <QPainterPath>
#include <QVariant>QT_BEGIN_NAMESPACE
namespace Ui { class CMainWindow; }
QT_END_NAMESPACEclass CMainWindow : public QMainWindow
{Q_OBJECTpublic:CMainWindow(QWidget *parent = nullptr);~CMainWindow();private:Ui::CMainWindow *ui;// QWidget interface
protected:/*** @brief paintEvent 绘制事件* @param event 绘制事件对象*/void paintEvent(QPaintEvent *event);// QWidget interface
protected:/*** @brief mouseReleaseEvent 鼠标释放事件* @param event 鼠标事件对象*/void mouseReleaseEvent(QMouseEvent *event);/*** @brief mouseMoveEvent 鼠标移动事件* @param event 鼠标事件对象*/void mouseMoveEvent(QMouseEvent *event);/*** @brief mouseMoveEvent 鼠标按下事件* @param event 鼠标事件对象*/void mousePressEvent(QMouseEvent *event);private:QPoint                  m_startPos; // 鼠标按下起始位置QRect                   m_tmpRect;  // 当前rect对象QList<QRect>            m_listRect; // 历史rect容器};
#endif // CMAINWINDOW_H

CMainWindow.cpp

#include "CMainWindow.h"
#include "ui_CMainWindow.h"#include <QPainter>
#include <QMouseEvent>CMainWindow::CMainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::CMainWindow)
{ui->setupUi(this);
}CMainWindow::~CMainWindow()
{delete ui;
}void CMainWindow::paintEvent(QPaintEvent *event)
{// 创建画笔对象QPainter painter(this);// 设置绘制对象抗锯齿painter.setRenderHint(QPainter::Antialiasing);// 绘制当前rect对象painter.drawRect(m_tmpRect);// 遍历绘制历史rect对象foreach(const QRect &rect, m_listRect){painter.drawRect(rect);}
}void CMainWindow::mouseReleaseEvent(QMouseEvent *event)
{// 当前rect对象存入m_listRect.append(m_tmpRect);// 当前rect对象置空m_tmpRect = QRect();// 重绘界面this->repaint(this->rect());
}void CMainWindow::mouseMoveEvent(QMouseEvent *event)
{// 当前rect对象赋值m_tmpRect = QRect(m_startPos, event->pos());// 更新界面this->update(this->rect());
}void CMainWindow::mousePressEvent(QMouseEvent *event)
{// 其实点赋值m_startPos = event->pos();
}

总结

文章较简单,练手即可,下章为QPainter实现画笔功能。

友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 o/)

注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除

http://www.ds6.com.cn/news/80990.html

相关文章:

  • 给企业做网站挣钱吗网络营销推广的方式有哪些
  • 北京最大的广告公司郑州网站优化哪家好
  • 别人给我们做的网站如何关闭谷歌seo搜索优化
  • 网络推广培训在哪里优化网站的软件下载
  • 网站建设与推广长春南宁seo营销推广
  • 门户网站首页模板下载百度推广方式有哪些
  • 网页网站制作公司天津百度seo排名优化
  • 深圳市建设集团百度百科优化
  • 工信委网站建设方案做一个网站的步骤
  • 网站备案后应该做什么百度竞价排名的使用方法
  • vps怎么建多个网站北京建站公司
  • 云南网站开发网络公司泰安百度推广代理商
  • 免费做店招的网站nba排名最新
  • 做网站首页与分页什么样子武汉seo和网络推广
  • 新疆生产建设兵团人社局网站如何制作视频网站
  • 两学一做网站 新闻电商运营转行后悔了
  • 做网站 工资高吗广告竞价推广
  • 做网站交互效果用什么软件广告推广 精准引流
  • 自贡网站开发seo软件推广哪个好
  • 武汉网站设计站建设网络seo排名
  • 郑州高新区做网站开发的公司百度搜索网页版入口
  • 微模板网站建设今日国内新闻10则
  • 为网站做外链的文章关键词挖掘工具爱站网
  • 亲姐弟做愛电影在线网站凡科建站怎么导出网页
  • 广州 网站制作公司 网络服务高权重网站出售
  • 做调查问卷换赏金的网站百度快照推广效果怎样
  • 一级域名 网站建设seo搜索引擎官网
  • 个人可以做行业网站吗windows优化大师下载
  • 建设网站的用途百度舆情监测平台
  • 企业网站建设的好处怎么在网上推销产品