PyQt5是一个Python编写的GUI工具包,可以为Python开发人员提供丰富的图形用户界面及应用程序功能。在PyQt5中,添加图片是非常常见的功能。下面,我将详细讲解如何在PyQt5中添加图片。
准备
在进行下一步之前,我们需要先准备一张图片,并将其放置在PyQt5工作目录下。
添加图片到窗口上(方法一)
下面的代码展示了如何将图像添加到PyQt5窗口中:
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon, QPixmap
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 image - 示例1'
self.left = 10
self.top = 10
self.width = 640
self.height = 480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
# 创建一个QPixmap对象
self.label = QLabel(self)
self.pixmap = QPixmap('image.jpg')
# 将QPixmap设置为 QLabel的背景
self.label.setPixmap(self.pixmap)
self.resize(self.pixmap.width(), self.pixmap.height())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
上述代码中,我们创建了一个应用程序窗口,并将图片添加到该窗口中。通过创建QPixmap对象并将其设置为QLabel的背景,我们可以轻松达到此目的。最终,使用resize()方法调整窗口大小以适应图像的大小。
添加图片到窗口上(方法二)
下面的代码展示了如何通过QPainter在PyQt5窗口中添加图像:
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon, QPainter, QPixmap
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
super(MyWidget, self).__init__()
self.setWindowTitle('PyQt5 画图')
self.setGeometry(300, 300, 350, 100)
def paintEvent(self, event):
painter = QPainter(self)
pixmap = QPixmap('image.jpg')
painter.drawPixmap(self.rect(), pixmap)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = MyWidget()
w.show()
sys.exit(app.exec_())
在上述代码中,我们覆盖了QWidget的paintEvent()方法,并使用QPainter对象在窗口中添加了图像。我们首先创建一个QPixmap对象,然后使用QPainter对象的drawPixmap()方法绘制这个对象。最后,我们使用QWidget的rect()方法调整窗口大小以适应图像的大小。
总结
通过上述两个示例,我们可以轻松学会如何在PyQt5窗口中添加图像。实际上,我们还可以添加更多的自定义功能,比如放大/缩小,旋转等。如果您有兴趣了解更多信息,建议您参考PyQt5文档。