Qt5.9用鼠标在空白画布上画曲线实例

本文主要总结用Qt5.9Creator编写一个程序。该程序的功能是可以在空白的界面上用鼠标随意画曲线和放大按钮可以将画布放大两倍。


这个例子主要用到了QMouseEvent类,QPushButton类。其中QMouseEvent类用到了鼠标按下事件函数(mousePressEvent(QMouseEvent *event)),鼠标移动事件函数(mouseMoveEvent(QMouseEvent *event)),鼠标释放事件函数(mouseReleaseEvent(QMouseEvent *))三个主要的鼠标事件触发函数。


还有一个最重要的绘图事件处理函数(painterEvent(QPainter *)),在绘图事件处理函数中,一般填充的都是一些绘制画布和设置相关画笔画刷功能,还有在画布设备上绘制曲线等功能。绘图事件处理函数(painterEvent(QPainter *))可以在鼠标事件函数中用update()函数触发。


下面将具体提供一个实例。

1.1新建一个Dialog工程,基类选择为QDialog。在Dialog.h头文件中添加如下代码:



Qt5.9用鼠标在空白画布上画曲线实例_第1张图片




1.2在Dialog.cpp源文件中的Dialog::Dialog()构造函数,添加如下代码:
Qt5.9用鼠标在空白画布上画曲线实例_第2张图片


1.3在Dialog.cpp源文件中,添加如下代码:
Qt5.9用鼠标在空白画布上画曲线实例_第3张图片


Qt5.9用鼠标在空白画布上画曲线实例_第4张图片


Qt5.9用鼠标在空白画布上画曲线实例_第5张图片


Qt5.9用鼠标在空白画布上画曲线实例_第6张图片


Qt5.9用鼠标在空白画布上画曲线实例_第7张图片


1.4程序构建执行后,结果如下图所示:

Qt5.9用鼠标在空白画布上画曲线实例_第8张图片

没有放大的图


Qt5.9用鼠标在空白画布上画曲线实例_第9张图片

在画布上用鼠标画曲线图


Qt5.9用鼠标在空白画布上画曲线实例_第10张图片

放大2倍后的图


Qt5.9用鼠标在空白画布上画曲线实例_第11张图片

放大2倍后在画布上用鼠标画曲线图



参考内容:

http://www.qter.org/portal.php?mod=view&aid=45

你可能感兴趣的:(Qt基础知识,Qt5.9,QMouseEvent,painterEvent,mousePressEvent,mouseMoveEvent)