前言
QLabel是Qt库中的一个部件,通常用于显示文本或富文本文档。然而,QLabel也可以用来显示图像。
一种常见的使用QLabel显示图像的方法是使用QPixmap类。QPixmap可以从文件中接收图片,然后可以使用QLabel的setPixmap()函数将图片插入到标签中。同时,为了使图片适应标签的大小,可以通过设置图片自适应标签大小来间接修改图片尺寸。
然而,如果图像过大,直接用QLabel显示可能会出现有部分图像显示不出来的情况。这时,可以使用Scroll Area部件。将QLabel部件放到Scroll Area部件里面,将两个采用栅格布局,当图像超出了QLabel部件大小时,就会产生滑动杆,这样图像就可以都看到了。
显示静态图片
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
label = QLabel(self)
pixmap = QPixmap('test.png')
label.setPixmap(pixmap)
label.setScaledContents(True)
h_layout = QHBoxLayout()
h_layout.addWidget(label)
self.setLayout(h_layout)
if __name__ == "__main__":
app = QApplication([])
win = Window()
win.show()
sys.exit(app