void MainWindow::paintEvent(QPaintEvent *e)
{
//Painter
ui->label_pic->resize(ui->widget->size());
QString file("E:/QQ20190320092134.png");
if (!file.isEmpty())
{
QPixmap pixmap(file);
pixmap = pixmap.scaled(ui->label_pic->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
ui->label_pic->setPixmap(pixmap);
}
}
代码如上,重载paintEvent()。
布局时注意:需要把label放在一个widget中左上角,且widget里不能布局;如上图,图片在右边widget左上角的textlabel中。
若有布局,则虽然开始时可以显示,且可以拉伸放大,但不能缩小。不用widget直接lable布局也是这样。
重载resizeEvent()也有类似问题,可以拉伸放大不能缩小。
效果如下: