pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

时间:2022-09-21 08:47:43

代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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_ ())

效果显示:

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

让图片自适应qlabel的主要代码:

?
1
lbl.setscaledcontents (true) # 让图片自适应label大小

为了方便对比效果,不妨按一下最大化按钮,效果如下:

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

可见确实实现了图片自适应label大小的功能。那么如何移除label上得图片呢?很简单,加入一行代码就可以解决:

?
1
lbl.setpixmap(qpixmap(""))#移除label上的图片

完整代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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_ ())

效果如下:

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

以上这篇pyqt5让图片自适应qlabel大小上以及移除已显示的图片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/ri*qi/article/details/80546952