需求

qt 显示多张 pixmap

解决

图片多了之后,需要耗费更多的资源。

  • QLabel + setPixmap: 简单,但是使用 cpu 资源
  • drawPixmap: 直接使用 gpu 资源
QPixmap image1;

image1.load(":/images/chuyin1.jpg");
void PaintWidget::paintEvent(QPaintEvent *)
{
    //void QPainter::drawPixmap(int x, int y, int width, int height, const QPixmap &pixmap)
    QPainter painter(this);
    int x1 = ui->view1Frame->pos().x();
    int y1 = ui->view1Frame->pos().y();
    painter.drawPixmap(x1,y1,ui->view1Frame->width(),ui->view1Frame->height(),image1);
}

参考