pyqt5 QGraphicsView显示图片
时间: 2023-10-29 19:12:01 浏览: 89
可以使用QGraphicsScene和QGraphicsPixmapItem来实现QGraphicsView的图片显示功能,具体实现方法如下:
```python
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QGraphicsScene, QGraphicsView, QGraphicsPixmapItem
class ImageViewer(QGraphicsView):
def __init__(self):
super().__init__()
self.setScene(QGraphicsScene(self))
self.setRenderHint(QPainter.Antialiasing)
self.setDragMode(QGraphicsView.ScrollHandDrag)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
def setImage(self, image_path):
pixmap = QPixmap(image_path)
item = QGraphicsPixmapItem(pixmap)
self.scene().addItem(item)
self.fitInView(item, Qt.KeepAspectRatio)
if __name__ == '__main__':
app = QApplication(sys.argv)
viewer = ImageViewer()
viewer.setImage('test.png')
viewer.show()
sys.exit(app.exec_())
```
以上代码中,ImageViewer类继承自QGraphicsView,使用QGraphicsScene和QGraphicsPixmapItem来显示图片。setImage方法可以用来设置要显示的图片,其中QGraphicsView.fitInView可以保持图片的宽高比例适应视图大小。
示例图片test.png需放在同级目录下。
阅读全文