pyqt5:图片自适应QLabel大小和图片移除

 

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

显示如下:

 

posted @ 2018-09-26 13:28  月亮下,六便士  阅读(14652)  评论(0编辑  收藏  举报