• 5348阅读
  • 5回复

[提问]关于绘制坐标图 [复制链接]

上一主题 下一主题
离线mrcalifor
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-19
关键词: QPainter
我是想当按下pushbutton按键时能够在stackedwidget的当前页上进行坐标绘图。使用painter时要重载paintEvent函数,那么是不是意味着我首先要单独写一个函数重载paintEvent,然后再在pushbutton的槽函数中调用paintEvent呢?具体应该怎么调用呢?传递的实参是什么呢?请大侠赐教!小弟菜鸟。。。
离线roywillow

只看该作者 1楼 发表于: 2012-05-19
使用QPainter在QWidget上绘制的时候只能在paintEvent中进行
感觉“在stackedwidget的当前页上进行坐标绘图”这个思路很奇怪
我更倾向于 在stackedwidget的当前页上的QWidget子类进行坐标绘图
即继承一个QWidget,在这个类的paintEvent中根据之前传入的各种数据进行绘图
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线mrcalifor
只看该作者 2楼 发表于: 2012-05-19
回 1楼(roywillow) 的帖子
能否说的详细点呢?不太明白你的意思。。
离线roywillow

只看该作者 3楼 发表于: 2012-05-20
继承一个QWidget作为画布用来进行绘制
在这个QWidget中,有进行参数传入的成员函数,paintEvent根据这些之前传入的参数进行绘制
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线mrcalifor
只看该作者 4楼 发表于: 2012-05-20
回 3楼(roywillow) 的帖子
越听越晕,能不能告诉我具体怎么操作呢。比如现在我的工程里stackedwidget中有一pushbutton按键,按了以后希望在当前页上画一条(200,200)到(300,300)的直线。每按一次按键都进行更新。急救啊!!小弟在此谢过!!
离线jdwx

只看该作者 5楼 发表于: 2012-05-20
回 4楼(mrcalifor) 的帖子
QWidget有一个虚函数:paintEvent,需要你重写一个(覆盖),在paintEvent里面写绘图代码,
paintEvent由Qt自动在需要重绘的时候调用,需要手动重绘的时候你用update()更新即可。
顺便说说:Qt不同于别的库,绘图代码只在paintEvent内有效,其它的地方无法绘图。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个