Qt label设置图片窗口以后拖动只能放大不能缩小解决

编写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);

调试源码发现
在这里插入图片描述
不设置这个属性就会发出一个消息给父亲对象让其重新设置大小 (猜测)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值