首页| 论坛| 消息

标题:Qt中在控件上绘图是否只能通过事件?
作者:lixiaobo2272
日期:2016-08-03 20:23
内容:

以前用MFC做的,现在要改成Qt。以前没接触过Qt,想问一下各位大神,Qt中在控件上绘图是否只能通过事件?比如,我想在一个Label上绘图,希望通过单击处理按钮完成处理和绘图,这种情况在Qt中应该怎么操作?


#1 [kimtaikee 08-03 22:16]
QWidget 派系的只能在paintEvent中进行重绘;如果你想要很好的交互功能的话推荐QGraphicsView框架,自定义Item的绘制在paint函数;如果你想利用线程绘制的话,你可以创建个QPixmap或者QImage,然后在把图片当画布在线程中绘制。
#2 [6gongzi 08-04 08:31]
把 图绘制在QPixmap上,Label只是展示你绘制的结果
点击按钮在后台绘图,绘制完成后通知Label显示结果
#3 回 kimtaikee 的帖子 [lixiaobo2272 08-04 10:50]
kimtaikee:QWidget 派系的只能在paintEvent中进行重绘;如果你想要很好的交互功能的话推荐QGraphicsView框架,自定义Item的绘制在paint函数;如果你想利用线程绘制的话,你可以创建个QPixmap或者QImage,然后在把图片当画布在线程中绘制。 (2016-08-03 22:16) 
非常感谢您的解答。这个运算量很大,肯定要多线程操作。想问一下,使用QPixmap和QImage是可以直接绘制还是也需要进行事件?
#4 回 6gongzi 的帖子 [lixiaobo2272 08-04 10:52]
6gongzi:把 图绘制在QPixmap上,Label只是展示你绘制的结果
点击按钮在后台绘图,绘制完成后通知Label显示结果
 (2016-08-04 08:31) 
好的,谢谢。我研究研究
#5 [stlcours 08-05 16:06]
你都用MFC做出来了,怎么会问这种问题?是不是当时也是稀里糊涂做出来的?
系统真正绘图,当然只能是paintEvent,但这只是最后一步。在这之前你想怎么画就怎么画,把数据准备好就行了。

<< 1 2 >> (1/2)

回复 发表
主题 版块