• 5296阅读
  • 3回复

有些小不解(有关画图) [复制链接]

上一主题 下一主题
离线zhenzhenniun
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-11
我用QPainter 画了个简单的图形,就是一个正弦波,画图动作在paintEvent(QPaintEvent *)共有函数中实现,当然在.h 文件里我也声明了该文件,编译成功没有错误。后来我想把函数名该为paintEvent()  ,也能编译成功,可是不显示波形了不知道为什么??求高人解答下
贴出源码:


void MyWidget::paintEvent(QPaintEvent *)
//void MyWidget::paintEvent()      换成这行时,编译完之后我得widget里没有波形了(头文件我也相应的改了啊.....)
{
   QPainter painter;
   painter.begin(this  );

    QSize sz =size();
  
        
        int n;

        for (n=0;n<50;n++)      

   {   if   (n%5 ==0)  painter.setPen( Qt::red );
       else   painter.setPen( Qt::blue );
    
       painter.drawLine(0,   sz.height()*n /50 , sz.width(),  sz.height()*n/50);
       painter.drawLine(sz.width()*n/50 , 0 ,sz.width()*n/50 , sz.height());

}      
       painter.end() ;
}
离线rqzrqh

只看该作者 1楼 发表于: 2009-11-11
函数被调用了吗?
离线zhenzhenniun
只看该作者 2楼 发表于: 2009-11-11
引用第1楼rqzrqh于2009-11-11 15:47发表的  :
函数被调用了吗?

我C++不是很熟,但是我观察了下,除了有无参数的区别,别的没有区别哈,为啥不行呢,对于无参数的那个我还尝试在构造函数里面先调用paintEvent(),然后再在外面定义,结果执行出来还是没有波形
离线pywepe
只看该作者 3楼 发表于: 2009-11-11
引用第2楼zhenzhenniun于2009-11-11 16:16发表的  :
我C++不是很熟,但是我观察了下,除了有无参数的区别,别的没有区别哈,为啥不行呢,对于无参数的那个我还尝试在构造函数里面先调用paintEvent(),然后再在外面定义,结果执行出来还是没有波形



要求重写的方法 你的参数不一样就不是重写了

也就不能实现预定的功能了
快速回复
限100 字节
 
上一个 下一个