将pixmap内容保存到窗口小部件的最佳方法是什么

时间:2015-06-09 10:42:29

标签: c++ qt

我正在使用这样的代码:

void MyWidget::paintEvent(QPaintEvent *event)
{
  QPixmap temp(width(), height());
  QPainter painter(&temp);
  // drawing code ...
  painter.end();
  QPainter painter2(this);
  painter2.drawPixmap(0, 0, width(), height(), temp);
}

但我不确定这是使用pixmap的最佳方式

2 个答案:

答案 0 :(得分:1)

据我所知,这是在QWidget上绘制像素图的唯一方法,但在QGraphicScene上绘制项目会更好更舒服。此外,如果pixmap中不需要,你可以直接在QWidget上绘制它。

答案 1 :(得分:1)

显示像素图的最佳方法是使用QLabel。您可以使用QLabel::setPixmap来显示像素图,而无需重新实现任何功能。您可以创建一次pixmap并将其放在标签上,这比在每个绘制事件中创建像素图更有效。

同样QGraphicScene对绘图来说确实更方便。