保存像素图内容到小部件的最佳方法是什么?

what is the best way to save pixmap content to widget

本文关键字:最佳 方法 是什么 小部 像素 保存      更新时间:2023-10-16

我正在使用这样的代码:

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的最佳方式

这是在QWidget上绘制像素图的唯一方法,据我所知,但在QGraphicScene上绘制项目更好,更舒适。如果不需要,也可以直接在QWidget上绘制。

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

同时QGraphicScene确实更便于绘制