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

手机培训网站建设北京百度推广电话号码

手机培训网站建设,北京百度推广电话号码,深圳网络营销招聘,南沙商城网站建设作业&#xff1a; 1&#xff1a;实现绘图的时候&#xff0c;颜色的随时调整 2&#xff1a;追加橡皮擦功能 3&#xff1a;配合键盘事件&#xff0c;实现功能 当键盘按 ctrlz的时候&#xff0c;撤销最后一次绘图 头文件.h #ifndef WIDGET_H #define WIDGET_H#include <QWidge…

作业:

1:实现绘图的时候,颜色的随时调整

2:追加橡皮擦功能

3:配合键盘事件,实现功能

当键盘按 ctrl+z的时候,撤销最后一次绘图

头文件.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QMouseEvent>
#include<QPaintEvent>
#include<QPainter>
#include<QPen>
#include<QColor>
#include<QLine>
#include<QPoint>
#include<QPixmap>//图像容器
#include<QColorDialog>
#include<QStack>    //栈存储历史状态
#include<QKeyEvent>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void paintEvent(QPaintEvent *event) override;
void keyPressEvent(QKeyEvent *event) override;private slots:
void on_pushButton_clicked();void on_pushButton_2_clicked();void on_pushButton_3_clicked();void on_pushButton_4_clicked();void on_pushButton_5_clicked();private:Ui::Widget *ui;QPoint p;QPainter painter;QPixmap *pix;QPen pen;QColor penColor;int penWidth;bool iseraser;QStack<QPixmap> historyStack;  // 历史画布栈
};
#endif // WIDGET_H

CPP

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),pix(new QPixmap(this->width(),this->height()))//实例化图纸大小及空间,penColor(Qt::green),penWidth(5),iseraser(false)
{ui->setupUi(this);//填充图纸颜色pix->fill();//fill默认白色
}Widget::~Widget()
{delete ui;delete pix;
}void Widget::mousePressEvent(QMouseEvent *event)
{historyStack.push(*pix);//保存当前画布状态p=event->pos();
}void Widget::mouseMoveEvent(QMouseEvent *event)
{//让画家在图纸上画画QPainter painter(pix);//实例化一支笔QPen pen;//(QColor("green"));if(iseraser){pen.setColor(Qt::white);pen.setWidth(30);}else{pen.setColor(penColor);pen.setWidth(penWidth);}//把笔给画家painter.setPen(pen);//让画家画线painter.drawLine(p,event->pos());//更新起始位置p=event->pos();//调用updata,触发绘制事件的发生this->update();}
void Widget::paintEvent(QPaintEvent *event)
{//实例化画家QPainter painter(this);//让画家画到窗口//让画家画图像,把第一个画家的画 画到窗口painter.drawPixmap(QPoint(0,0),*pix);
}void Widget::keyPressEvent(QKeyEvent *event)
{if (event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_Z){if (!historyStack.isEmpty()){*pix = historyStack.pop();  // 取出栈顶的历史画布this->update();  // 重新绘制界面}}
}void Widget::on_pushButton_clicked()
{//颜色QColor color=QColorDialog::getColor(penColor,this,"选择颜色");penColor=color;iseraser=false;}void Widget::on_pushButton_2_clicked()
{//粗细penWidth=5;iseraser=false;
}void Widget::on_pushButton_3_clicked()
{//粗细10penWidth=10;iseraser=false;
}void Widget::on_pushButton_4_clicked()
{//粗细20penWidth=20;iseraser=false;
}void Widget::on_pushButton_5_clicked()
{//橡皮iseraser= true;
}

http://www.dtcms.com/wzjs/219940.html

相关文章:

  • 甘肃兰州最新疫情情况小辉seo
  • wordpress发帖时间优化大师怎么强力卸载
  • 广州个性化网站建设优化设计答案大全
  • canvas案例网站营业推广是什么意思
  • 写代码的软件有哪些seo网站推广软件
  • 做网站挂靠搜索引擎google
  • 政府网站设计的内容有哪些trinseo公司
  • 亦庄网站开发公司seo每天一贴
  • 有哪些可以在线做海报的网站互联网全网营销
  • 全球采购网站简述网络营销的含义
  • 像淘宝购物网站建设需要哪些专业人员媒体邀约
  • 做公司网站需要会什么科目线上教育培训机构十大排名
  • wordpress 静态化 插件在线排名优化工具
  • 赣州酷学网络科技有限公司seo是做什么的
  • 购物网站开发可行性发软文是什么意思
  • 免费网站开发框架小程序生成平台系统
  • 网络管理系统的配置管理最主要的功能是优化seo哪家好
  • 时尚女装网站设计百度一下你就知道
  • 家居在线设计平台福建seo排名
  • 优质的杭州网站优化网络营销方案范文
  • 微信24小时网站建设昆山seo网站优化软件
  • 自己建立独立域名的网站怎么做windows优化大师绿色版
  • 自贡网站开发企业如何网络推广
  • 建设个公司网站需要多少费用百度学术论文查重入口
  • 电商网站建设方案模板下载永久免费crm客户管理系统
  • 物流网站建设策划书的总结wordpress官网入口
  • 河北省建设部网站流量平台
  • 网站建设服务器都有哪些线下推广100种方式
  • wordpress支持视频格式郑州网站优化外包顾问
  • 漳浦县城乡规划建设局官方网站青岛网站设计公司哪家好