时间:2022-03-15 08:07:21 | 栏目:Python代码 | 点击:次
代码:
import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) from PyQt5.QtGui import QPixmap class Example (QWidget): def __init__(self): super ().__init__ () self.initUI () def initUI(self): hbox = QHBoxLayout (self) lbl = QLabel (self) pixmap = QPixmap ("E:\programming\python\MineSweeper\mine.jpg") # 按指定路径找到图片,注意路径必须用双引号包围,不能用单引号 lbl.setPixmap (pixmap) # 在label上显示图片 lbl.setScaledContents (True) # 让图片自适应label大小 hbox.addWidget (lbl) self.setLayout (hbox) self.move (300, 200) self.setWindowTitle ('Red Rock') self.show () if __name__ == '__main__': app = QApplication (sys.argv) ex = Example () sys.exit (app.exec_ ())
效果显示:
让图片自适应QLabel的主要代码:
lbl.setScaledContents (True) # 让图片自适应label大小
为了方便对比效果,不妨按一下最大化按钮,效果如下:
可见确实实现了图片自适应label大小的功能。那么如何移除label上得图片呢?很简单,加入一行代码就可以解决:
lbl.setPixmap(QPixmap(""))#移除label上的图片
完整代码:
import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) from PyQt5.QtGui import QPixmap class Example (QWidget): def __init__(self): super ().__init__ () self.initUI () def initUI(self): hbox = QHBoxLayout (self) lbl = QLabel (self) pixmap = QPixmap ("E:\programming\python\MineSweeper\mine.jpg") # 按指定路径找到图片 lbl.setPixmap (pixmap) # 在label上显示图片 lbl.setScaledContents (True) # 让图片自适应label大小 lbl.setPixmap(QPixmap(""))#移除label上的图片 hbox.addWidget (lbl) self.setLayout (hbox) self.move (300, 200) self.setWindowTitle ('Red Rock') self.show () if __name__ == '__main__': app = QApplication (sys.argv) ex = Example () sys.exit (app.exec_ ())
效果如下: