다음과 같은 PyQt 코드 작성중
import PyQt5.QtWidgets as qtw
from node_graphics_scene import QDMGraphicsScene
import PyQt5.QtGui as qtg
import PyQt5.QtCore as qtc
class NodeEditorWnd(qtw.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.initUI()
def initUI(self):
self.setGeometry(200, 200, 800, 600)
self.layout = qtw.QVBoxLayout()
self.layout.setContentsMargins(0,0,0,0)
self.setLayout(self.layout)
# create Graphics Scene
self.grScene = QDMGraphicsScene()
# create Graphics View
self.view = qtw.QGraphicsView(self)
self.view.setScene(self.grScene)
self.layout.addWidget(self.view)
self.setWindowTitle("Node Editor")
self.show()
self.addDebugContent()
def addDebugContent(self):
greenBrush = qtg.QBrush(qtc.Qt.green)
outlinePen = qtg.QPen(qtc.Qt.black)
outlinePen.setWidth(2)
rect = self.grScene.addRect(-100,-100, 80, 80, outlinePen, greenBrush)
rect.setFlag(qtw.QGraphicsItem.ItemIsMovable)
text = self.grScene.addText("TEXT HERE")
text.setFlag(qtw.QGraphicsItem.ItemIsSelectable)
text.setFlag(qtw.QGraphicsItem.ItemIsMovable)
NodeEditorWnd.addDebugContent() 의
text.setFlag(qtw.QGraphicsItem.ItemIsMovable)
를 사용할시 해당 text 오브젝트를 마우스로 옮기면 화면에서 윈도우 전체가 사라지는 버그가 있습니다.
또한 윈도우는
class QDMGraphicsScene(pyqt.QGraphicsScene):
def __init__(self, parent=None):
super().__init__(parent)
# settings
self.gridSize = 20
self.gridSquares = 5
self.gridPenWidth = 1
self._color_background = qtg.QColor("#393939")
self._color_light = qtg.QColor("#2f2f2f")
self._color_dark = qtg.QColor("#242424")
self._pen_light = qtg.QPen(self._color_light)
self._pen_light.setWidth(self.gridPenWidth)
self._pen_dark = qtg.QPen(self._color_dark)
self._pen_dark.setWidth(self.gridPenWidth)
self.scene_width, self.scene_height = 64000, 64000
self.setSceneRect(-self.scene_width//2, -self.scene_height//2, self.scene_width, self.scene_height)
self.setBackgroundBrush(self._color_background)
로 정의되는데 유튜브(https://youtu.be/kvZVwaZ3WZE?t=370)로 따라 만들고 있는 예시와 다르게 스크롤 바가 나타나지 않습니다.
구름 ide 환경에 의해 생기는 버그 같습니다만 해결하는 방법이 있습니까?