QT开发中文网

pyqt5 在界面 使用label 展示图像, 如何让图像跟随label大小变化而变化

要实现图像跟随Label大小变化而变化,可以使用PyQt5中的QPixmap和QLabel来完成。以下是一个示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
from PyQt5.QtGui import QPixmap


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.label = QLabel(self)
        self.setCentralWidget(self.label)

        # 加载图片
        self.image = QPixmap('path_to_image.jpg')
        self.label.setPixmap(self.image)
        
    def resizeEvent(self, event):
        # 获取当前label的大小
        label_size = self.label.size()

        # 调整图片尺寸以适应label大小,并更新label上的图片显示
        scaled_image = self.image.scaled(label_size, aspectRatioMode=True)
        self.label.setPixmap(scaled_image)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainWindow = MainWindow()
    mainWindow.show()
    sys.exit(app.exec_())

在这个示例中,通过继承QMainWindow类创建主窗口,然后在主窗口上添加一个QLabel作为中心部件。加载一张图片并将其设置为label的初始显示。

resizeEvent()方法会在窗口尺寸改变时自动触发。在该方法中,获取当前label的大小,然后调整图片尺寸以适应label大小,并使用setPixmap()更新label上的图片显示。

这样,当改变窗口大小时,图片也会相应地进行缩放以适应新的标签大小。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=6367

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?