Qt界面设计入门示例修改dialog.cpp实现绘图功能

dialogcpp 里的窗口绘制逻辑,还蛮适合新手练手的。构造函数里先设置好窗口大小,比如resize(600,500),用QPixmap铺一张白底画布。你可以把它当成“画板”,后面要画的线就是往这上面涂。重写paintEvent,用QPainterpix上连点成线,再把整个 pixmap 贴到窗口上,绘制流程就通了。

这里用的lastPointendPoint配合鼠标事件,像“画图”软件的思路。每次鼠标动一下就连一段线,前一点设成后一点,一笔接一笔。逻辑其实挺直观的,适合自己加点交互试试看,比如加个清空按钮,或是支持彩色画笔啥的。

你如果对QPainter还不太熟,可以顺手看看这个QPainter 绘制仪表盘的实现方法,里面对QPainter的基本操作说得还挺细的。

注意点是,paintEvent不能太重,逻辑尽量清爽。不然你一拖动窗口就卡,画图体验会打折。还有像pix.fill(Qt::white)这句,是清背景用的,位置放对了才能每次刷新都干净,不然就花成“涂鸦墙”了。

如果你刚开始学Qt,这种用QPixmap + QPainter的做法,确实是比较实用的一种方式。不复杂,能跑起来,还容易扩展。

ppt 文件大小:13.68MB