参考链接: 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_())
显示如下: