【发布时间】:2013-07-27 03:54:22
【问题描述】:
我是 Qt/Embedded 的新手。我想使用QPainter 在QPixmap 上绘制东西,这将被添加到QGraphicsScene。这是我的代码。但它没有在像素图上显示图纸。它只显示黑色像素图。
int main(int argc, char **argv) {
QApplication a(argc, argv);
QMainWindow *win1 = new QMainWindow();
win1->resize(500,500);
win1->show();
QGraphicsScene *scene = new QGraphicsScene(win1);
QGraphicsView view(scene, win1);
view.show();
view.resize(500,500);
QPixmap *pix = new QPixmap(500,500);
scene->addPixmap(*pix);
QPainter *paint = new QPainter(pix);
paint->setPen(*(new QColor(255,34,255,255)));
paint->drawRect(15,15,100,100);
return a.exec();
}
【问题讨论】:
-
paint->setPen(*(new QColor(255,34,255,255)));多么可怕的内存泄漏!就做paint->setPen(QColor(255,34,255,255)); -
QPainter 也泄漏,它也应该在堆栈上使用。
标签: qt qt4 qgraphicsscene qpainter qpixmap