我已经尝试了几种在表单上显示图像的方法,但没有一个能按照我想要的方式工作。
我读过很多地方,最简单的方法是创建标签并使用它来显示图像。我有一个标签,其大小由布局指定,但是如果我使用像素图将图像加载到其中,则标签的大小将调整为图像的大小。如果我使用 img 标签作为文本或 css 背景属性,它不会显示整个图像。我想做的是加载图像并适合标签,而不是更改标签的大小,但是当我调整窗口大小并调整标签大小时,图像也应该调整大小,以便它始终适合进去。
如果唯一的方法是获取标签的大小,然后调整像素图的大小以使其适合,并处理调整大小事件(信号),那么我如何调整像素图的大小?我希望我不需要将整个内容保存到 QImage 中并每次都从中创建一个像素图。
另外,怎样才能让它居中呢?如果它不能同时适合宽度和高度,我希望较小的尺寸居中。
哦,我不想使用滑块来处理溢出。
实际上,这个问题有一个非常简单的解决方案。您应该修改两件事:
- 将缩放内容设置为true(上面提到过)
-
将标签的大小策略设置为忽略
QLabel lblImage;
lblImage->setPixmap( QPixmap( "big_image.jpg" ) );
lblImage->setScaledContents( true );
lblImage->setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored );
If the lblImage
自动调整大小时,图像将拉伸到标签的大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)