參考鏈接: https://www.e-learn.cn/content/qita/669569
圖片自適應QLabel大小
# coding=utf-8 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("/home/osk/圖片/2.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 ('test_1') self.show () if __name__ == '__main__': app = QApplication(sys.argv) ex = Example () sys.exit (app.exec_())
顯示結果:

讓圖片自適應QLabel的主要代碼:
lbl.setScaledContents (True) # 讓圖片自適應label大小
那么如何移除label上得圖片呢?很簡單,加入一行代碼就可以解決:
lbl.setPixmap(QPixmap(""))#移除label上的圖片
完整代碼:
# coding=utf-8 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("/home/osk/圖片/2.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 ('test_1') self.show () if __name__ == '__main__': app = QApplication(sys.argv) ex = Example () sys.exit (app.exec_())
顯示如下:

