pyqt5讓圖片自適應QLabel大小上以及移除已顯示的圖片
阿新 • • 發佈:2019-02-20
程式碼:
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_ ())
效果如下: