• 4809阅读
  • 3回复

QMainWindow 怎么记住 paintEvent的重绘 [复制链接]

上一主题 下一主题
离线zhaorui
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-07
比如我 按下空格键 就调用void paintEvent()函数在窗口中画了一条直线,我再按下空格线的时候,之前的直线应该保存在那里,然后在画一条直线。这个应该怎么实现呢?
离线wxj120bw

只看该作者 1楼 发表于: 2011-11-08
回 楼主(zhaorui) 的帖子
每按下空格键 都会画一条直线 对吧 若这样 对mouseReleaseEvent函数对空格进行判断 再刷新
离线roywillow

只看该作者 2楼 发表于: 2011-11-08
paintEvent只需要根据数据进行绘制就好,不要把数据的添加处理之类的放进去
设置一个列表之类的,存放所有要绘制的直线的数据
按下一空格,向这个列表中添加一个直线
之后调用update()

paintEvent中只要根据这个直线数据列表的内容从头到尾绘制一遍就好了
想保留之前绘制的东西好像也能办到,但是感觉不如这么处理思路清晰

就是这么简单的逻辑
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线lzpmail
只看该作者 3楼 发表于: 2011-11-08
把你的画布改为QPixmap或其他的画布, 不要直接画在控件上
快速回复
限100 字节
 
上一个 下一个