pyside2 创建 graphicsView
时间: 2023-09-04 08:07:23 浏览: 147
要创建一个基于 PySide2 的 GraphicsView,可以按照以下步骤进行:
1. 导入 PySide2 中的 QtWidgets 和 QtGui 模块:
```
from PySide2 import QtWidgets, QtGui
```
2. 创建一个继承自 QtWidgets.QGraphicsView 的子类:
```
class MyGraphicsView(QtWidgets.QGraphicsView):
def __init__(self, parent=None):
super(MyGraphicsView, self).__init__(parent)
```
3. 在构造函数中设置视图的一些属性:
```
self.setRenderHint(QtGui.QPainter.Antialiasing) # 设置反锯齿渲染
self.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag) # 设置拖动模式为滚动条拖动
self.setOptimizationFlag(QtWidgets.QGraphicsView.DontAdjustForAntialiasing, True) # 设置不调整反锯齿
```
4. 创建一个 QGraphicsScene,并设置到视图中:
```
self.scene = QtWidgets.QGraphicsScene(self)
self.setScene(self.scene)
```
5. 在场景中添加图形项:
```
rect_item = QtWidgets.QGraphicsRectItem(0, 0, 100, 100)
self.scene.addItem(rect_item)
```
6. 显示视图:
```
self.show()
```
完整的代码示例:
```
from PySide2 import QtWidgets, QtGui
class MyGraphicsView(QtWidgets.QGraphicsView):
def __init__(self, parent=None):
super(MyGraphicsView, self).__init__(parent)
self.setRenderHint(QtGui.QPainter.Antialiasing)
self.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag)
self.setOptimizationFlag(QtWidgets.QGraphicsView.DontAdjustForAntialiasing, True)
self.scene = QtWidgets.QGraphicsScene(self)
self.setScene(self.scene)
rect_item = QtWidgets.QGraphicsRectItem(0, 0, 100, 100)
self.scene.addItem(rect_item)
self.show()
if __name__ == '__main__':
app = QtWidgets.QApplication([])
view = MyGraphicsView()
app.exec_()
```
阅读全文
相关推荐


















