找回密码
 立即注册
收起左侧

qt中paint,paintEvent的不同

4
回复
8486
查看
[复制链接]
累计签到:30 天
连续签到:1 天
来源: 2013-7-26 15:19:48 显示全部楼层 |阅读模式
1Qter豆
我在学习qt的时候遇到这么一个问题,如果要调用paintEvent的时候就直接用update(),然后见面就被重新绘制了一遍。但是如果是使用paint,则只要图元发生改变,例如图元的坐标发生改变,然后就会自动调用paint。不知道这里面的机制是怎么样的?因为是菜鸟,所以还没有能力去分析它的结构,希望大神解答。

最佳答案

查看完整内容

paint()只是绘制图形项本身,如果你自定义过图形项,会知道需要重新实现该函数;而paintEvent()则是底层的绘制事件,它将绘制整个图形窗口,它是QWidget中的函数,所有可视部件都有该函数,使用update()函数可以进行重绘。
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-7-26 15:19:49 显示全部楼层
paint()只是绘制图形项本身,如果你自定义过图形项,会知道需要重新实现该函数;而paintEvent()则是底层的绘制事件,它将绘制整个图形窗口,它是QWidget中的函数,所有可视部件都有该函数,使用update()函数可以进行重绘。
参与人数 1人气 +1 收起 理由
永炎 + 1 必须支持!

查看全部评分总评分 : 人气 +1

回复

使用道具 举报

累计签到:30 天
连续签到:1 天
2013-7-27 08:47:48 显示全部楼层
yafeilinux 发表于 2013-7-26 17:12
paint()只是绘制图形项本身,如果你自定义过图形项,会知道需要重新实现该函数;而paintEvent()则是底层的 ...

看来你是知道的,麻烦详细的讲一下那个paint。我还是不怎么明白。
回复

使用道具 举报

累计签到:30 天
连续签到:1 天
2013-7-27 08:48:29 显示全部楼层
yafeilinux 发表于 2013-7-26 17:12
paint()只是绘制图形项本身,如果你自定义过图形项,会知道需要重新实现该函数;而paintEvent()则是底层的 ...

再给我讲详细点,再加分
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-7-27 12:07:27 显示全部楼层
永炎 发表于 2013-7-27 08:48
再给我讲详细点,再加分

这个具体的还是要自己查看帮助文档,自己领悟的,光听别人讲,永远没法心领神会!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了