python - QRectF 没有出现在我的 QGraphicsScene 中
问题描述
我正在尝试使用 QGraphicsView(在 Maya 中)并得到一些我将在下面粘贴的代码。问题是带有 QGraphicsView 的窗口来了,但看起来 QGraphicsScene(with my QRectF) 没有来。我仍然有点困惑继承是如何工作的,所以有人可以指出我在哪里做错了。谢谢你。
from PySide2 import QtGui, QtCore, QtWidgets
from shiboken2 import wrapInstance
import maya.OpenMaya as om
import maya.OpenMayaUI as omui
import maya.cmds as cmds
import os, functools
def getMayaWindow():
pointer = omui.MQtUtil.mainWindow()
if pointer is not None:
return wrapInstance(long(pointer), QtWidgets.QWidget)
class testUi(QtWidgets.QDialog):
def __init__(self, parent=None):
if parent is None:
parent = getMayaWindow()
super(testUi, self).__init__(parent)
self.window = 'vl_test'
self.title = 'Test Remastered'
self.size = (1000, 650)
self.create()
def create(self):
if cmds.window(self.window, exists=True):
cmds.deleteUI(self.window, window=True)
self.setWindowTitle(self.title)
self.resize(QtCore.QSize(*self.size))
self.testik = test(self)
self.mainLayout = QtWidgets.QVBoxLayout()
self.mainLayout.addWidget(self.testik)
self.setLayout(self.mainLayout)
class test(QtWidgets.QGraphicsView):
def __init__(self, parent=None):
super(test, self).__init__(parent)
self._scene = QtWidgets.QGraphicsScene()
rect_item = QtWidgets.QGraphicsRectItem(QtCore.QRectF(0, 0, 100, 100))
rect_item.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable, True)
self._scene.addItem(rect_item)
v = testUi()
v.show()
解决方案
问题是您还没有将 QGraphicsScene 添加到 QGraphicsView:
class test(QtWidgets.QGraphicsView):
def __init__(self, parent=None):
super(test, self).__init__(parent)
self._scene = QtWidgets.QGraphicsScene()
self.setScene(self._scene) # <---
rect_item = QtWidgets.QGraphicsRectItem(QtCore.QRectF(0, 0, 100, 100))
rect_item.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable, True)
self._scene.addItem(rect_item)
推荐阅读
- ios - VoiceOver 不会阅读所有文本
- json - 如何在命令行中将 json 转换为 yaml,反之亦然?
- java - 如何绘制矩形循环以在游戏中绘制墙壁?
- apache-spark - SPARK SQL 抛出 AssertionError: assertion failed: Found duplicate rewrite attributes (Spark 3.0.2)
- laravel - 更改 laravel 刀片组件道具的默认值不起作用
- javascript - 如何将 onClick 函数传递给 React 中的孙子组件?
- python - 根据给定键的顺序获取列表中的dict值
- javascript - p5 在 node.js 中中断
- c# - C#:从左边用 0 填充数字直到长度为 X 个字符?
- sql - 在 PostgreSQL 删除触发器中删除表