MCPcopy
hub / github.com/PyQt5/PyQt / __init__

Method __init__

QGraphicsView/ImageView.py:28–51  ·  view source on GitHub ↗
(self, *args, **kwargs)

Source from the content-addressed store, hash-verified

26 """图片查看控件"""
27
28 def __init__(self, *args, **kwargs):
29 image = kwargs.pop('image', None)
30 background = kwargs.pop('background', None)
31 super(ImageView, self).__init__(*args, **kwargs)
32 self.setCursor(Qt.OpenHandCursor)
33 self.setBackground(background)
34 self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
35 self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
36 self.setRenderHints(QPainter.Antialiasing | QPainter.HighQualityAntialiasing |
37 QPainter.SmoothPixmapTransform)
38 self.setCacheMode(self.CacheBackground)
39 self.setViewportUpdateMode(self.SmartViewportUpdate)
40 self._item = QGraphicsPixmapItem() # 放置图像
41 self._item.setFlags(QGraphicsPixmapItem.ItemIsFocusable |
42 QGraphicsPixmapItem.ItemIsMovable)
43 self._scene = QGraphicsScene(self) # 场景
44 self.setScene(self._scene)
45 self._scene.addItem(self._item)
46 rect = QApplication.instance().desktop().availableGeometry(self)
47 self.resize(int(rect.width() * 2 / 3), int(rect.height() * 2 / 3))
48
49 self.pixmap = None
50 self._delta = 0.1 # 缩放
51 self.setPixmap(image)
52
53 def setBackground(self, color):
54 """设置背景颜色

Callers

nothing calls this directly

Calls 6

setBackgroundMethod · 0.95
setPixmapMethod · 0.95
addItemMethod · 0.45
resizeMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected