• 4696阅读
  • 5回复

Qt初学者的绘图问题 [复制链接]

上一主题 下一主题
离线wangyy2006
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-14
本人刚学习Qt没多久,刚在学习用Qt绘图,就碰到问题,不知道如何解决,请帮忙,谢谢!
下面是代码:
#include<qapplication.h>
#include<qpainter.h>
#include<qbrush.h>

int main(int argc, char *argv[ ])
{
      QApplication app(argc, argv);
      QPainter p(this);
      p.setPen(QPen(Qt::black,2,Qt::SolidLine));
      p.setBrush(QBrush(Qt::red,Qt::SolidPattern));
      p.drawEllipse(20,20,100,80);
      return app.exec();
}
错误提示:invalid use of 'this' in non-member function
离线浪漫天使
只看该作者 1楼 发表于: 2009-07-14
跟qt没关系,是c++的东西。
离线wangyy2006
只看该作者 2楼 发表于: 2009-07-14
那出现这个错误是什么原因呢?代码有没有问题!
离线watera
只看该作者 3楼 发表于: 2009-07-14
QPainter painter(this)有问题!
this是在类定义内使用、指向自身的指针。QPainter的构造函数中,参数是一个要进行绘图的窗口指针。
这个语句不在类内,this毫无意义。
正确写法:
QWidget* widget = new QWidget;
QPainter painter(widget);
恶补c++再学Qt 吧
离线imb1900220
只看该作者 4楼 发表于: 2009-07-14
楼上讲的很地道!!赞!!
离线hanfengjay
只看该作者 5楼 发表于: 2009-07-14
看那种简明教程之类的就差不多可以看懂了。。。。。如果你时间比较紧的话,。
快速回复
限100 字节
 
上一个 下一个