• 6442阅读
  • 7回复

[提问]QT必须在paintEvent事件里绘图吗? [复制链接]

上一主题 下一主题
离线ddr527
 

只看楼主 倒序阅读 楼主  发表于: 2012-01-30
关键词: 绘图
查了很多教程,都是说在paintEvent里绘图,必须里paintEvent里吗?
离线lsdsjy
只看该作者 1楼 发表于: 2012-01-30
不是,但如果在其他地方画重绘时会被擦掉
离线shaoshuai898

只看该作者 2楼 发表于: 2012-01-30
不是 获得对象就可以操作了 但绘图完了得考虑结果不是
离线jdwx

只看该作者 3楼 发表于: 2012-01-30
回 楼主(ddr527) 的帖子
直接使用QPainter绘制必须在paintEvent里面。
在其它的地方,就要先画到QPixmap上面,再在paintEvent画到界面上。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ddr527

只看该作者 4楼 发表于: 2012-01-30
没有一般windows编程工具那样,窗体上放个image控件,在控件里画的方式吗?我现在要在窗体上放个button,点一下画一个图,该怎么写,paintEvent在窗体已经生成后怎么调用?
离线uidab

只看该作者 5楼 发表于: 2012-01-30
回 4楼(ddr527) 的帖子
update() , repaint().
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线roywillow

只看该作者 6楼 发表于: 2012-01-30
如果你想在某个QWidget上绘图,只能在paintEvent里
类似在另外一个类中调用QPainter painter(&someWidget)这种语句是不成功的
但是如果你是在QImage、QPixmap、QPicture之类的类作为device,是可以在任何时候(只要不出现冲突)绘图的,比如QPainter painter(&someQImage)
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 7楼 发表于: 2012-01-30
这个确实很不方便。
MFC就什么时间都可以画图,而且在标题栏、桌面上都能画。
就用一个QPixmap缓冲一下,先把它当成屏幕,最后在paintEvent里画到屏幕上。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个