0
我有一段代码,有这个代码行:的Qt的QPixmap QPainter的问题
int dsize = 100;
QPainter *painter;
QPixmap *img;
QLabel *l_img;
painter = new QPainter;
img = new QPixmap(dsize, dsize);
l_img = new QLabel;
l_img->setPixmap(*img);
painter->begin(img);
painter->fillRect(img->rect(), Qt::white);
QPen pen(Qt::black, 12);
painter->setPen(pen);
painter->drawLine(40, 40, 40, 100);
painter->end();
l_img->show();
如何过,当我运行的代码,我没有看到任何白色图像上有一个黑色的长方形。实际上我看到的是用大字体书写的窗口的标题。似乎没有任何工作,我只是得到一个这样的图像。我究竟做错了什么?
谢谢!
“img = new QPixmap(dsize,dsize);” < - 不需要在堆上创建QPixmaps。他们是隐含共享的。只需通过value/const ref传递它们即可。你可能会在那里泄漏记忆。 – 2011-02-09 18:52:24