编写demo的时候发现用label显示图片,然后重写 resizeEvent 发现只能放大不能缩小
设置方式如下:
void MainWindow::resizeEvent(QResizeEvent *event)
{
// this->setMinimumSize(0,0);
QPixmap pixmap1 = pixmap.scaled(ui->label->width(),ui->label->height(),Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
ui->label->setPixmap(pixmap1);
qDebug()<<this->minimumSize();
// this->setMinimumSize(0,0);
// setMaximumSize(QSize(QWIDGETSIZE_MAX,QWIDGETSIZE_MAX));
return QMainWindow::resizeEvent(event);
}
这样就导致放的图片只能放大不能缩小
后来发现这里修改以后 每次都会修改 当前窗口的最小大小尝试手动修改成0,0 结果有时候可以有时候不行
后来根据大佬提示
设置这个属性就可以
ui->label->setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Ignored);
调试源码发现
不设置这个属性就会发出一个消息给父亲对象让其重新设置大小 (猜测)