头文件&cpp文件


系列文章目录

序言

第一章 多文件结构

  • 头文件&cpp文件
  • 添加资源

第二章 核心功能

第三章 UI相关

  • 菜单栏
  • 按钮等

总结


头文件&cpp

一般把类和成员变量的定义放在一个.h文件,把成员函数和静态成员的定义放在.cpp文件中,主函数放在另外的一个.cpp文件中。

示例:

头文件

paingarea.h:

#ifndef PAINTAREA_H
#define PAINTAREA_H

#include <QWidget>
#include<QMouseEvent>
#include<QPoint>

class PaintArea : public QWidget
{
   
   
    Q_OBJECT
public:
    explicit PaintArea(QWidget *parent = nullptr);
    bool isModified()const{
   
   return modified;}    //判断画布是否被更改过
    bool saveImage(const QString&fileName,const char*fileFormat);   //保存图片
    bool openImage(const QString&fileName); //打开图片
    void setImageSize(int width,int height);  //声明改变画布大小函数???
    QSize getImageSize();   //
    void setImageColor(QColor color);  //声明改变画布颜色函数???
    void zoomIn();  //放大
    void zoomOut(); //缩小
    void zoom_1();  //还原
    void doRotate();    //旋转
    void doShear(); //拉伸
    void doClear(); //清空
    void doCancel();    //撤销
    void setPenStyle(Qt::PenStyle style);
    void setPenWidth(int width);  //设置画笔宽度
    void setPenColor(QColor color);  //设置画笔颜色
    void setBrushColor(QColor color);  //设置填充颜色
    void DfsFill(int x, int y,QColor fillColor,QColor originColor); //fill


    enum ShapeType  //枚举变量,几个图形的选择
    {
   
   
            None,
            Line,
            Rectangle,
            Text,
            Ellipse,
            Circle,
            FILL,
            Move
    };
    void setShape(ShapeType shape);  //设置要绘制的图形

protected:
    void paintEvent(QPaintEvent*);  //重绘事件
    void mousePressEvent(QMouseEvent*); //鼠标按下事件
    void mouseMoveEvent(QMouseEvent*);  //鼠标移动事件
    void mouseReleaseEvent(QMouseEvent*);   //鼠标释放事件
    void paint(QImage&theImage);    //???
private:
    QImage image;   //在这上面绘图
    QRgb backColor; //存储image背景色
    QPoint lastPoint,endPoint;
    bool modified;  //标志画布是否被更改过
    qreal scale;    //缩放量
    int angle;  //角度
    qreal shear;    //拉伸量
    QColor penColor;
    QColor brushColor;
    Qt::PenStyle penStyle;
    ShapeType curShape;
    int penWidth;
    QImage tempImage;
    bool isDrawing;
    //QString textt;
    QImage originImage;
    bool endMove;


signals:

};

#endif // PAINTAREA_H

cpp文件

paintarea.cpp:

#include "paintarea.h"
#include<QPainter>
#include "ui_mainwindow.h"

PaintArea::
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值