PyQt5 中 QLabel 图片缩放和显示:如何获取实际尺寸和坐标,以及实现自适应显示?

pyqt5 中 qlabel 图片缩放和显示:如何获取实际尺寸和坐标,以及实现自适应显示?

如何在 pyqt5 中处理 qlabel 的图片缩放和显示问题?

问题1:获取qlabel 显示图片的实际尺寸和坐标

在将qlabel 的setscaledcontents 设为true 后,可以通过以下方式获取图片的实际显示尺寸和坐标:

label_size = label.size()
label_width, label_height = label_size.width(), label_size.height()

问题2:qpixmap 自适应显示图片

要使用qpixmap 自适应显示图片,请考虑以下方法:

  • 使用qgraphicsview 和qgraphicsscene:使用qgraphicsview 创建一个视窗,使用qgraphicsscene 管理图片。 scene 中的图片将根据视窗的大小自动缩放。
  • 使用 qgridlayout 和 qspaceritem:在 qgridlayout 中使用 qspaceritem 来填充剩余空间,这将使中间的图片控件自动扩展以占据所有可用空间。
  • 使用 qt 的大小调整策略:为 qpixmap 设置适当的大小调整策略,例如 qsizepolicy.preferred 或 qsizepolicy.expanding。这样,控件会根据父容器的大小进行调整。

以上就是PyQt5 中 QLabel 图片缩放和显示:如何获取实际尺寸和坐标,以及实现自适应显示?的详细内容,更多请关注其它相关文章!