关于Qt画图的问题?

如此美丽的你 2012-04-23 08:26:08
在窗口上画图,必须要使用paintEvent()吗?
我想在timerEvent()中在窗口上画图,要怎么实现呢??
...全文
171 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
如此美丽的你 2012-04-25
  • 打赏
  • 举报
回复
怎么实现局部重画啊??是否每次执行paintEvent()的时候,以前画的东西都会被擦除??
牛人们快来指点一下??
lulu23260 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 的回复:

你可以将画好的存贮成一个IMG,重画的时候先画IMG,再把你要重画的区域单独刷掉重画

怎么存储啊成IMG啊帅哥,详细点麻!!!
[/Quote]
先定义一个Qpixmap pix;开始用painter的时候,painter.begin(pix);
将要画的东西画在pix上面。
lulu23260 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
怎么实现局部重画啊??是否每次执行paintEvent()的时候,以前画的东西都会被擦除??
牛人们快来指点一下??
[/Quote]
每次重新画你用什么??不是用repaint()吗?repaint()的参数就是重新画更新的局部区域。
如此美丽的你 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

你可以将画好的存贮成一个IMG,重画的时候先画IMG,再把你要重画的区域单独刷掉重画
[/Quote]
怎么存储啊成IMG啊帅哥,详细点麻!!!
zyzsxy 2012-04-24
  • 打赏
  • 举报
回复
你可以将画好的存贮成一个IMG,重画的时候先画IMG,再把你要重画的区域单独刷掉重画
如此美丽的你 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

显然不行啊,那是得不到你想要的结果的
不过你可以在timerEvent()调用repaint()函数,手工触发去调用paintEvent()事件,但绘制代码必须在paintEvent()
[/Quote]

如果我想实现窗口局部重画,又怎么办呢?
如此美丽的你 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
显然不行啊,那是得不到你想要的结果的
不过你可以在timerEvent()调用repaint()函数,手工触发去调用paintEvent()事件,但绘制代码必须在paintEvent()
[/Quote]

I got it!
feilinhe 2012-04-23
  • 打赏
  • 举报
回复
显然不行啊,那是得不到你想要的结果的
不过你可以在timerEvent()调用repaint()函数,手工触发去调用paintEvent()事件,但绘制代码必须在paintEvent()

16,239

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧