pyqt5中用QGraphicsView展示图片,给一个完整脚本示例
时间: 2024-02-28 22:22:55 浏览: 69
以下是一个使用QGraphicsView展示图片的完整脚本示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QGraphicsScene, QGraphicsView
from PyQt5.QtGui import QPixmap
class ImageViewer(QGraphicsView):
def __init__(self, parent=None):
super(ImageViewer, self).__init__(parent)
self.scene = QGraphicsScene(self)
self.setScene(self.scene)
self.setFixedSize(500, 500)
def setImage(self, image_path):
pixmap = QPixmap(image_path)
self.scene.clear()
self.scene.addPixmap(pixmap)
self.fitInView(self.scene.sceneRect(), 1)
if __name__ == '__main__':
app = QApplication(sys.argv)
viewer = ImageViewer()
viewer.setImage('image.jpg')
viewer.show()
sys.exit(app.exec_())
```
在这个脚本中,我们定义了一个名为ImageViewer的类,它继承自QGraphicsView。在类的构造函数中,我们创建了一个QGraphicsScene并将其设置为QGraphicsView的场景。然后,我们重写了setImage方法,在该方法中,我们使用QPixmap加载图片,将其添加到场景中,并使用fitInView方法将图片缩放至适合场景的大小。
在主函数中,我们创建了一个QApplication对象,并实例化了ImageViewer类。然后,我们调用setImage方法并传入要显示的图片路径。最后,我们显示QGraphicsView并开始Qt事件循环。
阅读全文