近想用Qt写一个中国象棋的项目,在网上找了几个例子后,发现关于绘图部分基础为0 ,于是根据项目需要学习一下。查了一些网上的资料,在此总结一下;我比较喜欢的方式是用到什么学什么,或者自己想做一个东西,这样学习起来目的性比较强,可以快速进入。
Qt的2D绘图是基于QPainter类的。QPainter既可以绘制几何图形(点、线、矩形、椭圆、弧形、饼状图、多边形和贝塞尔曲线等)也可以绘制像素映射、图像和文字。
QPainter可以画在“绘图设备”上,如QWidget、QPixmap、QImage等。
重新实现QWidget::paintEvent() 可用于订制窗口部件,并且可以设计出自己想要的风格。
一个常见的需求是在二维画板上显示大量的、轻量级的并且可与用户交互的项。Qt中围绕着QGraphicsView、QGraphicsScene、QGraphicsItem类引入了一种全新的“图形视图”体系【了解概念即可,不作详细介绍】。——摘自C++ GUI Qt4编程。
- 坐标系统
在了解如何画出一个图形前,需要知道窗口部件的坐标系统。如图,左上角顶点是坐标原点(0,0),X轴向右为正,Y轴向下为正,默认每个像素占1×1大小的像素。视口、窗口、世界矩阵等概念有兴趣的同志们可以深入了解下。
![fe7f72792958594dd4e604babcd76914.png](https://img-blog.csdnimg.cn/img_convert/fe7f72792958594dd4e604babcd76914.png)
- 画一条线段
在绘图设备上(一般是窗口部件上)绘图,需要重新实