PyQt5 사용중 이슈


  • Level 2

    다음과 같은 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 환경에 의해 생기는 버그 같습니다만 해결하는 방법이 있습니까?

SUGGESTED TOPICS