Qt界面设计入门示例修改dialog.cpp实现绘图功能
dialogcpp 里的窗口绘制逻辑,还蛮适合新手练手的。构造函数里先设置好窗口大小,比如resize(600,500)
,用QPixmap
铺一张白底画布。你可以把它当成“画板”,后面要画的线就是往这上面涂。重写paintEvent
,用QPainter
在pix
上连点成线,再把整个 pixmap 贴到窗口上,绘制流程就通了。
这里用的lastPoint
和endPoint
配合鼠标事件,像“画图”软件的思路。每次鼠标动一下就连一段线,前一点设成后一点,一笔接一笔。逻辑其实挺直观的,适合自己加点交互试试看,比如加个清空按钮,或是支持彩色画笔啥的。
你如果对QPainter
还不太熟,可以顺手看看这个QPainter 绘制仪表盘的实现方法,里面对QPainter
的基本操作说得还挺细的。
注意点是,paintEvent
不能太重,逻辑尽量清爽。不然你一拖动窗口就卡,画图体验会打折。还有像pix.fill(Qt::white)
这句,是清背景用的,位置放对了才能每次刷新都干净,不然就花成“涂鸦墙”了。
如果你刚开始学Qt
,这种用QPixmap
+ QPainter
的做法,确实是比较实用的一种方式。不复杂,能跑起来,还容易扩展。
13.68MB
文件大小:
评论区