系列文章目录
第一章 多文件结构
- 头文件&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::

最低0.47元/天 解锁文章
610

被折叠的 条评论
为什么被折叠?



