예제 #1
0
def test_image_slice_item(qtbot: QtBot):
    window = QtWidgets.QMainWindow()
    qtbot.addWidget(window)

    scene = QtWidgets.QGraphicsScene(0, 0, 100, 100)
    view = QtWidgets.QGraphicsView(scene)
    window.setCentralWidget(view)

    array = np.random.random((10, 10))
    img = ScaledImageItem.fromArray(array, QtCore.QRectF(0, 0, 100, 100))
    item = ImageSliceWidgetItem(img, array)
    scene.addItem(item)

    item.mousePressEvent(
        FakeSceneMouseEvent(QtCore.Qt.LeftButton, QtCore.QPointF(1, 1)))
    item.mouseMoveEvent(
        FakeSceneMouseEvent(QtCore.Qt.LeftButton, QtCore.QPointF(1, 99)))
    item.mouseReleaseEvent(
        FakeSceneMouseEvent(QtCore.Qt.LeftButton, QtCore.QPointF(1, 99)))

    assert item.sliced.size == 10
    assert np.all(item.sliced == array[:, 0])

    item.actionCopyToClipboard()
    item.shape()  # For redraw

    # Draw everything
    window.show()
    qtbot.waitExposed(window)
예제 #2
0
    def initView(self):
        self.ball = Ball()

        self.anim = QtCore.QPropertyAnimation(self.ball, b'pos')
        self.anim.setDuration(10000)
        self.anim.setLoopCount(2)
        self.anim.setStartValue(QtCore.QPointF(5, 30))

        self.anim.setKeyValueAt(0.3, QtCore.QPointF(80, 30))
        self.anim.setKeyValueAt(0.5, QtCore.QPointF(200, 30))
        self.anim.setKeyValueAt(0.8, QtCore.QPointF(250, 250))

        self.anim.setEndValue(QtCore.QPointF(290, 30))

        self.scene = QtWidgets.QGraphicsScene(self)
        self.scene.setSceneRect(0, 0, 300, 300)
        self.scene.addItem(self.ball.pixmap_item)
        self.setScene(self.scene)

        self.setWindowTitle("Ball Animation")
        self.setRenderHint(QtGui.QPainter.Antialiasing)
        self.setGeometry(300, 300, 500, 350)

        self.anim.start()
        self.show()
예제 #3
0
    def __init__(self, view):

        self.view = view
        self.model = view.model

        self.history = History(self.model.clustering)

        self._nodes = {}  # {node_id: Node, ...}
        self._edges = []  # [Edge, ...]
        self._labels = {}  # {node_id: label, ...}
        self._mouse_prev = None
        self._tool_tip = ToolTip()

        DModule.__init__(self)
        QtWidgets.QGraphicsView.__init__(self)

        scene = QtWidgets.QGraphicsScene(self)
        scene.setItemIndexMethod(QtWidgets.QGraphicsScene.NoIndex)
        self.setScene(scene)
        self.setRenderHint(QtGui.QPainter.Antialiasing)
        self.setTransformationAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse)
        self.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter)
        self.setDragMode(QtWidgets.QGraphicsView.NoDrag)

        self.setMinimumSize(400, 400)

        scene.selectionChanged.connect(self.on_selected)

        self.connect_broadcast(Broadcasts.STORE_LOADED, self.on_store_changed)
        self.connect_broadcast(Broadcasts.STORE_DATA_SOURCE_CHANGED,
                               self.on_store_changed)
예제 #4
0
    def init_ui(self):
        self.setGeometry(0, 0, 600, 600)
        self.setWindowTitle("EvoFlock")

        #self.showFullScreen()

        # self.user_settings_groupbox = QtWidgets.QGroupBox("Settings")
        # self.user_settings_groupbox.setMaximumSize(int(screeninfo.get_monitors()[0].width/5),
        #                                            screeninfo.get_monitors()[0].height)
        self.simulation_window_groupbox = QtWidgets.QGroupBox("Simulation")

        self.main_window_layout = QtWidgets.QHBoxLayout()
        #        self.main_window_layout.addWidget(self.user_settings_groupbox)
        self.main_window_layout.addWidget(self.simulation_window_groupbox)
        self.setLayout(self.main_window_layout)

        self.graphics_container = QtWidgets.QGraphicsView(
            self.simulation_window_groupbox)
        self.scene = QtWidgets.QGraphicsScene()
        self.graphics_container.setScene(self.scene)

        self.sim_layout = QtWidgets.QGridLayout()
        self.sim_layout.addWidget(self.graphics_container)
        self.simulation_window_groupbox.setLayout(self.sim_layout)

        self.draw_world()
        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.re_paint)
        self.animate()
        self.show()
예제 #5
0
파일: Plots.py 프로젝트: riskey95/HollowRC
    def __init__(self, *args, **kwargs):
        QtWidgets.QGraphicsView.__init__(self, *args, **kwargs)
        # QtCore.QObject.__init__(self)  # the QQbject is for the signal            <---- RuntimeError: You can't initialize an object twice!

        # setup graphics scene
        self.scene = QtWidgets.QGraphicsScene()  # creates a scene
        self.setScene(self.scene)  # set the created scene
예제 #6
0
    def __init__(self):
        super().__init__()

        # Image is displayed as a QPixmap in a QGraphicsScene attached to this QGraphicsView.
        self.setScene(QtWidgets.QGraphicsScene())

        # Image aspect ratio mode.
        # !!! ONLY applies to full image. Aspect ratio is always ignored when zooming.
        #   Qt.IgnoreAspectRatio: Scale image to fit viewport.
        #   Qt.KeepAspectRatio: Scale image to fit inside viewport, preserving aspect ratio.
        #   Qt.KeepAspectRatioByExpanding: Scale image to fill the viewport, preserving aspect ratio.
        self.aspectRatioMode = QtCore.Qt.KeepAspectRatio

        # Scroll bar behaviour.
        #   Qt.ScrollBarAlwaysOff: Never shows a scroll bar.
        #   Qt.ScrollBarAlwaysOn: Always shows a scroll bar.
        #   Qt.ScrollBarAsNeeded: Shows a scroll bar only when zoomed.
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)

        # Stack of QRectF zoom boxes in scene coordinates.
        self.zoomStack = []

        # Flags for enabling/disabling mouse interaction.
        self.canZoom = True
        self.canPan = True

        # Minimum bounding size for zoom
        self.minimumZoomHeight = 8
        self.minimumZoomWidth = 8
예제 #7
0
    def __init__(self, title='Synoptic window'):
        super(Synoptic, self).__init__(getMayaWindow(), QtCore.Qt.Window)

        self.setWindowTitle(title)

        color = QtGui.QColor(255, 243, 49)
        hoveredColor = QtGui.QColor(0, 255, 100)
        self.pen = QtGui.QPen()
        self.pen.setWidth(2)
        self.pen.setColor(color)
        self.hoveredPen = QtGui.QPen()
        self.hoveredPen.setWidth(2)
        self.hoveredPen.setColor(hoveredColor)
        self.brush = QtGui.QBrush(color)

        self.layout = QtWidgets.QVBoxLayout()
        self.layout.setContentsMargins(0, 0, 0, 0)

        self.scene = QtWidgets.QGraphicsScene()
        self.view = QtWidgets.QGraphicsView()
        self.view.setScene(self.scene)

        self.layout.addWidget(self.view)
        self.setLayout(self.layout)

        with open('C:/agr/perso/dev/maya/kain.json', 'r') as f:
            self.data = json.load(f)

        self.refreshAll()
예제 #8
0
    def __init__(self, parent):
        super(VideoRender, self).__init__()
        self.main_window = parent
        self.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.size_adjusted = False
        self.ratio = 1
        self.setAcceptDrops(True)

        # Config QGraphics objects
        self.scene = QtWidgets.QGraphicsScene(self)
        self.setScene(self.scene)

        # Frame
        self.frame = None
        self.scene_frame = QtWidgets.QGraphicsPixmapItem()

        # Current Detection Selection
        self.init_point = QtCore.QPoint()
        self.end_point = QtCore.QPoint()
        self.drawing = False
        self.current_selection = QtWidgets.QGraphicsRectItem()
        self.brush_current = QtGui.QBrush(QtGui.QColor(10, 10, 100, 120))

        # Detections
        self.detection = []
        self.detection_objects = []  # List of GraphicsRectItem objects
        self.brush_detection = QtGui.QBrush(QtGui.QColor(100, 10, 10, 120))

        self.init()
예제 #9
0
 def test(self):
     app = QtWidgets.QApplication(sys.argv)
     scene = QtWidgets.QGraphicsScene()
     item = DiagramItem()
     item2 = DiagramItem()
     #this cause segfault
     scene.addItem(item)
     scene.addItem(item2)
예제 #10
0
 def setImage(self, image):
     pixel = QtGui.QPixmap.fromImage(image)
     scene = QtWidgets.QGraphicsScene(self)
     photo = QtWidgets.QGraphicsPixmapItem()
     photo.setPixmap(pixel)
     scene.addItem(photo)
     self.setScene(scene)
     self.setGeometry(self.x(), self.y(), image.width(), image.height())
예제 #11
0
    def __init__(self):
        QtWidgets.QGraphicsView.__init__(self)

        self.timerId = 0

        scene = QtWidgets.QGraphicsScene(self)
        scene.setItemIndexMethod(QtWidgets.QGraphicsScene.NoIndex)
        scene.setSceneRect(-200, -200, 400, 400)
        self.setScene(scene)
        self.setCacheMode(QtWidgets.QGraphicsView.CacheBackground)
        self.setRenderHint(QtGui.QPainter.Antialiasing)
        self.setTransformationAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse)
        self.setResizeAnchor(QtWidgets.QGraphicsView.AnchorViewCenter)

        node1 = Node(self)
        node2 = Node(self)
        node3 = Node(self)
        node4 = Node(self)
        self.centerNode = Node(self)
        node6 = Node(self)
        node7 = Node(self)
        node8 = Node(self)
        node9 = Node(self)
        scene.addItem(node1)
        scene.addItem(node2)
        scene.addItem(node3)
        scene.addItem(node4)
        scene.addItem(self.centerNode)
        scene.addItem(node6)
        scene.addItem(node7)
        scene.addItem(node8)
        scene.addItem(node9)
        scene.addItem(Edge(node1, node2))
        scene.addItem(Edge(node2, node3))
        scene.addItem(Edge(node2, self.centerNode))
        scene.addItem(Edge(node3, node6))
        scene.addItem(Edge(node4, node1))
        scene.addItem(Edge(node4, self.centerNode))
        scene.addItem(Edge(self.centerNode, node6))
        scene.addItem(Edge(self.centerNode, node8))
        scene.addItem(Edge(node6, node9))
        scene.addItem(Edge(node7, node4))
        scene.addItem(Edge(node8, node7))
        scene.addItem(Edge(node9, node8))

        node1.setPos(-50, -50)
        node2.setPos(0, -50)
        node3.setPos(50, -50)
        node4.setPos(-50, 0)
        self.centerNode.setPos(0, 0)
        node6.setPos(50, 0)
        node7.setPos(-50, 50)
        node8.setPos(0, 50)
        node9.setPos(50, 50)

        self.scale(0.8, 0.8)
        self.setMinimumSize(400, 400)
        self.setWindowTitle(self.tr("Elastic Nodes"))
예제 #12
0
 def __init__(self, graph, table):
     super().__init__()
     self.table = table
     self.graph = graph
     self.scene = QtWidgets.QGraphicsScene(self)
     self.nodeItems = dict()
     self.setFixedSize(1002, 1002)
     self.create_scene()
     self.installEventFilter(self)
예제 #13
0
 def __init__(self):
     QtWidgets.QGraphicsView.__init__(self)
     self.setWindowTitle("QGraphicsView")
     scene = QtWidgets.QGraphicsScene(self)
     scene.setSceneRect(0, 0, 160, 120)
     self.setScene(scene)
     line = QtCore.QLineF(10, 10, 100, 100)
     node = QtWidgets.QGraphicsLineItem(line)
     scene.addItem(node)
예제 #14
0
    def __init__(self, editor, parent):
        self._scene = QtWidgets.QGraphicsScene()
        super().__init__(scene=self._scene, parent=parent)
        self.editor = editor
        self.organiser = TreeOrganiser()
        self.nodeTracker = NodeTracker()
        self.trackedViews = {}

        self.nodeGraph = NodeGraph()
예제 #15
0
파일: Plots.py 프로젝트: riskey95/HollowRC
    def __init__(self, *args, **kwargs):
        """
        ...
        """
        QtWidgets.QGraphicsView.__init__(self, *args, **kwargs)

        # setup graphics scene
        self.scene = QtWidgets.QGraphicsScene()  # creates a scene
        self.setScene(self.scene)  # set the created scene
예제 #16
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 780, 530))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")

        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")

        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.startButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.startButton.setObjectName("startButton")
        self.startButton.setText('Start')
        self.startButton.clicked.connect(self.start_clicked)

        self.horizontalLayout.addWidget(self.startButton)

        self.stopButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.stopButton.setObjectName("stopButton")
        self.stopButton.setText('Stop')
        self.stopButton.clicked.connect(self.stop_clicked)

        self.horizontalLayout.addWidget(self.stopButton)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.graphicsView = QtWidgets.QGraphicsView(self.verticalLayoutWidget)
        self.graphicsView.setProperty("cursor", QtCore.Qt.UpArrowCursor)
        self.graphicsView.setObjectName("graphicsView")
        self.verticalLayout.addWidget(self.graphicsView)
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionStart = QtWidgets.QAction(MainWindow)
        self.actionStart.setObjectName("actionStart")
        self.actionStop = QtWidgets.QAction(MainWindow)
        self.actionStop.setObjectName("actionStop")

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_draw)

        self.sceneView = QtWidgets.QGraphicsScene()
        self.graphicsView.setScene(self.sceneView)
        self.textItem = None

        self.speed_flag = 1

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
예제 #17
0
 def updataImage(self, updata_img):
     height, width, channels = updata_img.shape
     bytesPerLine = channels * width
     convert_img = cv2.cvtColor(updata_img, cv2.COLOR_BGR2RGB)
     Qtimage = QtGui.QImage(convert_img.data, width, height, bytesPerLine,
                            QtGui.QImage.Format_RGB888)
     scene = QtWidgets.QGraphicsScene()
     scene.addPixmap(QtGui.QPixmap.fromImage(Qtimage))
     #scene.width(width)
     self.ui.graphicsView.setScene(scene)
예제 #18
0
    def set_up(self):

        self.scene = QtWidgets.QGraphicsScene()
        self.scene_rect = None

        self.setDragMode(QtWidgets.QGraphicsView.RubberBandDrag)
        self.setTransformationAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse)
        self.setRenderHints(QtGui.QPainter.Antialiasing
                            | QtGui.QPainter.SmoothPixmapTransform)
        self.setScene(self.scene)
 def initCamera(self):
     self.timerCamera = QtCore.QTimer()
     self.timerCamera.setInterval(30)
     self.timerCamera.timeout.connect(self.getFrame)
     self.timerCamera.start()
     self.viewCamera = QtWidgets.QGraphicsView()
     scene = QtWidgets.QGraphicsScene()
     self.imagePixmap = QtGui.QPixmap(*self.dimensionsCamera)
     self.imagePixmapItem = scene.addPixmap(self.imagePixmap)
     self.viewCamera.setScene(scene)
     self.clicPlay = True
예제 #20
0
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)
        self.scene = QtWidgets.QGraphicsScene(self)
        self.setScene(self.scene)

        self.image = QtGui.QImage(
            "/Users/anjal/Desktop/Personal Projects/PythonProj/DijkstrasProj/map.jpg"
        )
        self.locpixmap = QtGui.QPixmap(self.image)
        self.pixmapItem = QtWidgets.QGraphicsPixmapItem(self.locpixmap)
        self.scene.addItem(self.pixmapItem)
예제 #21
0
    def __init__(self):
        QtWidgets.QGraphicsView.__init__(self)
        self.scene = QtWidgets.QGraphicsScene()
        self.setScene(self.scene)

        self.rect1 = QtCore.QRect(10, 10, 80, 60)
        self.rect2 = QtCore.QRect(50, 80, 80, 60)

        self.item1 = GraphicsEllipseItem()
        self.item1.setRect(-40, -30, 80, 60)
        self.scene.addItem(self.item1)
 def imageToQtWidget(self, frame):
     frame = self.imageResize(frame, self.scalaImage)
     image = QtGui.QImage(frame, *self.dimensionsCamera,
                          QtGui.QImage.Format_RGB888).rgbSwapped()
     imagePixmap = QtGui.QPixmap.fromImage(image)
     imageScene = QtWidgets.QGraphicsScene()
     framePixmap = QtGui.QPixmap(*self.dimensionsCamera)
     imagePixmapItem = imageScene.addPixmap(framePixmap)
     imagePixmapItem.setPixmap(imagePixmap)
     self.viewCamera = QtWidgets.QGraphicsView()
     self.viewCamera.setScene(imageScene)
예제 #23
0
파일: main.py 프로젝트: nyue/QtQuestions
 def __init__(self, parent=None):
     QtWidgets.QGraphicsView.__init__(self, parent)
     scene = QtWidgets.QGraphicsScene(self)
     scene.setSceneRect(-200, -200, 400, 400)
     self.setScene(scene)
     node1 = ComputeNode(self)
     node2 = FileNode(self)
     scene.addItem(node1)
     scene.addItem(node2)
     node1.setPos(120, 120)
     node1.setPos(80, 80)
 def __init__(self, parent):
     super(VAT_QGraphicsView, self).__init__(parent)
     self._zoom = 0
     self._empty = True
     self._scene = QtWidgets.QGraphicsScene(self)
     self._photo = QtWidgets.QGraphicsPixmapItem()
     self._scene.addItem(self._photo)
     self.setScene(self._scene)
     self.setTransformationAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse)
     self.setResizeAnchor(QtWidgets.QGraphicsView.AnchorUnderMouse)
     self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
     self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
     self.setBackgroundBrush(QtGui.QBrush(QtGui.QColor(255, 255, 255)))
예제 #25
0
 def __init__(self, parent=None):
     super(MouthView, self).__init__(parent)
     self.setScene(QtWidgets.QGraphicsScene(self))
     self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
     self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
     # Other initialization
     self.doc = None
     self.cur_frame = 0
     self.old_frame = 0
     self.current_phoneme = "rest"
     self.current_mouth = None
     self.mouths = {}
     self.load_mouths()
예제 #26
0
 def __init__(self, parent=None):
     QtWidgets.QGraphicsView.__init__(self, parent)
     self.scene = QtWidgets.QGraphicsScene(self)
     self.scene.setSceneRect(0, 0, 100, 100)
     self.simple_rect = MyRect()
     self.scene.addItem(self.simple_rect)
     self.setScene(self.scene)
     self.timer = QtCore.QTimer()
     self.timer.setInterval(1000)
     self.timer.timeout.connect(self.timeout_slot)
     self.timer.start()
     self.time_counter = 0
     self.time_increment = 1
예제 #27
0
def build_vertical_section_sketch(self, specifications):
    # Get product parameters
    outside_diameter, inside_diameter_top, inside_diameter_bottom, height = specifications

    # Create graphics scene for painting
    graphics_scene = QtWidgets.QGraphicsScene(self)

    # Add scene to view
    self.graphics_view_vertical_section.setScene(graphics_scene)

    # Check relationship diameter to height
    if outside_diameter > height:
        # Set base constant
        width = 150

        # Calculate parameters for sketch on relationship base
        width_top = (inside_diameter_top / outside_diameter) * width
        width_bottom = (inside_diameter_bottom / outside_diameter) * width
        high = (height / outside_diameter) * width
        
    else:
        # Set base constant
        high = 150
        
        # Calculate parameters for sketch on relationship base
        width = (outside_diameter / height) * high
        width_top = (inside_diameter_top / outside_diameter) * width
        width_bottom = (inside_diameter_bottom / outside_diameter) * width

    # Set diagonal lines fill
    brush = QtGui.QBrush(QtCore.Qt.BDiagPattern)

    # Drawing outside diameter
    graphics_scene.addRect(0, 0, width, high, brush=brush)

    # Set background fill
    brush = QtGui.QBrush(QtGui.QColor("#f0f0f0"))

    # Create based paraameters polygon 
    polygon = QtGui.QPolygonF(4)
    polygon[0] = QtCore.QPoint((width - width_top) // 2, 0)
    polygon[1] = QtCore.QPoint((width - width_top) // 2 + width_top, 0)
    polygon[2] = QtCore.QPoint((width - width_bottom) // 2 + width_bottom, high)
    polygon[3] = QtCore.QPoint((width - width_bottom) // 2, high)

    # Drawing inside diameters
    graphics_scene.addPolygon(polygon, brush=brush)

    # Drawing direction line
    pen = QtGui.QPen(QtCore.Qt.DashDotLine)
    graphics_scene.addLine(width // 2, -10, width // 2, high + 10, pen)
예제 #28
0
    def __init__(self, parent):
        QtWidgets.QGraphicsView.__init__(self)

        self.setRenderHint(QtGui.QPainter.Antialiasing)
        self.setRenderHint(QtGui.QPainter.TextAntialiasing)
        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setTransformationAnchor(self.NoAnchor)
        self.escena = QtWidgets.QGraphicsScene(self)
        self.escena.setItemIndexMethod(self.escena.NoIndex)
        self.setScene(self.escena)

        self.main_window = parent
        self.crea()
예제 #29
0
    def __init__(self, parent=None):
        QtWidgets.QGraphicsView.__init__(self, parent)
        self.scene = QtWidgets.QGraphicsScene(self)
        self.scene.setSceneRect(0, 0, 700, 500)

        # self.simple_group = QtWidgets.QGraphicsItemGroup()
        # self.simple_group.addToGroup(self.simple_entity_widget)
        # self.simple_group.addToGroup(self.simple_entity_widget2)
        # self.simple_group.addToGroup(self.simple_arrow)
        # self.simple_group.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable)
        # self.simple_group.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable)
        # self.scene.addItem(self.simple_group)

        e = EntityExtractor()
        # C:\PythonProjects\CppDesignViewer\EntityRepo
        repo = e.search_classes('../EntityRepo/test_simple_file.cpp')
        entity_tree = EntityTrees()
        entity_tree.form_trees_from_repository(repo)
        roots = entity_tree.get_root_nodes()
        tree_widget_list = list()

        prev_widget_x = 10
        prev_widget_y = 0

        for root in roots:
            tree_widget_list.append(TreeWidget(root))
            tree_widget_list[-1].setPos(QPointF(prev_widget_x, prev_widget_y))
            h = tree_widget_list[-1].sizeHint(Qt.SizeHint.PreferredSize).height()
            prev_widget_y += h + 5
            self.scene.addItem(tree_widget_list[-1])

        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.MinimumSize)) #, QtCore.QSizeF(100, 100)
        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.MaximumSize))
        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.PreferredSize))



        # tree = TestTreeWidget().combine_trees((3, "left tree"), (2, "center tree"), (2, "right tree"))
        # tree_widget = TreeWidget()
        # tree_widget.build_from_root(tree)
        # self.scene.addItem(tree_widget)

        self.setScene(self.scene)
        self.timer = QtCore.QTimer()
        self.timer.setInterval(1000)
        self.timer.timeout.connect(self.timeout_slot)
        # self.timer.start()
        self.time_counter = 0
        self.time_increment = 1
예제 #30
0
 def __init__(self, scenario, typemap, coordinates, n_frames, table, alt):
     super().__init__()
     self.alt = alt
     self.all_features, self.n_features = get_features(self.alt)
     self.table = table
     self.graph = scenario[0]
     self.label = scenario[1]
     self.typemap = typemap
     self.coordinates = coordinates
     self.n_frames = n_frames
     self.scene = QtWidgets.QGraphicsScene(self)
     self.nodeItems = dict()
     self.setFixedSize(1002, 1002)
     self.create_scene()
     self.installEventFilter(self)