qlabel上放置图片
QLabel *labSEAL = new QLabel( );
QPixmap sealPixmap;
labSEAL->setPixmap( sealPixmap );
这样放置的图片会自适应大小,
现在想要做成这样的效果:高度不让他自适应大小,如果图片的宽度超过 labSEAL 的宽度,宽度自适应大小,高度也相应的缩小,就是让图片的宽度和高度的比例保持不变 该怎么做。。
[解决办法]
怎么会是这样的需求?
有点bt
是不是可以通过别的方法绕过?
[解决办法]
是有这样的需求还是你自己随便想的?自适应大小,lable的size确定吗?
[解决办法]
获取图片的size后再相应的设置一个label?
[解决办法]
是要在拖拽中使用吗?如果拖拽的话,可以加入事件机制,在事件处理函数中进行判断吧
[解决办法]
重载一个QLable类,然后重新定义其resizeEvent(QResizeEvent *event);
函数。
void QLable(你继承的类名称)::resizeEvent(QResizeEvent *event)
{
QLable::resizeEvent(event);
QPalette pal(palette);
pal.setBrush(你的QImage对象.scaled(event->size(),Qt::IgnoreAspectRadio,Qt::smoothTransformation)));
setPalette(pal);
}
楼主可以试试看这个方法可行不可行,有问题咱们再沟通!
[解决办法]
感觉可能要重载函数了...这个要求确实少见