Beispiel #1
0
	def __init__ ( self, parent = None ):
		super ( ToolWindowManager, self ).__init__ ( parent )
		self.lastUsedArea = None
		self.suggestions = []
		self.wrappers = []
		self.areas = []
		self.toolWindowList = []
		self.draggedToolWindows = []
		#----
		self.borderSensitivity = 12
		testSplitter = QSplitter ()
		self.rubberBandLineWidth = testSplitter.handleWidth ()
		self.dragIndicator = QtWidgets.QLabel ( None, Qt.ToolTip) # 使用QLabel来显示拖拽的提示
		self.dragIndicator.setAttribute ( Qt.WA_ShowWithoutActivating)
		mainLayout = QtWidgets.QVBoxLayout ( self )
		mainLayout.setContentsMargins ( 0, 0, 0, 0 )
		
		wrapper = ToolWindowManagerWrapper ( self )
		wrapper.setWindowFlags ( wrapper.windowFlags () & ~Qt.Tool )
		mainLayout.addWidget ( wrapper )

		self.dropSuggestionSwitchTimer = QtCore.QTimer ( self )
		self.dropSuggestionSwitchTimer.timeout.connect ( self.showNextDropSuggestion )
		self.dropSuggestionSwitchTimer.setInterval ( 800 )
		self.dropCurrentSuggestionIndex = 0

		palette = QtGui.QPalette ()
		color = QtGui.QColor ( Qt.blue )
		color.setAlpha ( 80 )
		palette.setBrush ( QtGui.QPalette.Highlight, QtGui.QBrush ( color ) )
		
		self.rectRubberBand = QRubberBand ( QRubberBand.Rectangle, self )
		self.lineRubberBand = QRubberBand ( QRubberBand.Line, self )
		self.rectRubberBand.setPalette ( palette )
		self.lineRubberBand.setPalette ( palette )
Beispiel #2
0
    def __init__(self, parent=None):
        ''' Constructor '''
        super(VideoWidget, self).__init__(parent)
        self.surface = VideoWidgetSurface(self)
        self.Tracking_RubberBand = QRubberBand(QRubberBand.Rectangle, self)

        self.Censure_RubberBand = QRubberBand(QRubberBand.Rectangle, self)

        pal = QPalette()
        pal.setBrush(QPalette.Highlight, QBrush(QColor(Qt.blue)))
        self.Tracking_RubberBand.setPalette(pal)

        pal = QPalette()
        pal.setBrush(QPalette.Highlight, QBrush(QColor(Qt.black)))
        self.Censure_RubberBand.setPalette(pal)

        self.var_currentMouseMoveEvent = None

        self._interaction = InteractionState()
        self._filterSatate = FilterState()

        self.setUpdatesEnabled(True)
        self.snapped = False
        self.zoomed = False
        self._isinit = False
        self.gt = None

        self.drawCesure = []
        self.poly_coordinates, self.drawPtPos, self.drawLines, self.drawRuler, self.drawPolygon = [], [], [], [], []
        self.poly_RubberBand = QgsRubberBand(iface.mapCanvas(),
                                             True)  # Polygon type
        # set rubber band style
        color = QColor(176, 255, 128)
        self.poly_RubberBand.setColor(color)
        color.setAlpha(190)
        self.poly_RubberBand.setStrokeColor(color)
        self.poly_RubberBand.setWidth(3)

        self.parent = parent.parent()

        self.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)

        self.setAttribute(Qt.WA_NoSystemBackground)
        self.setAttribute(Qt.WA_PaintOnScreen)
        self.setAttribute(Qt.WA_OpaquePaintEvent)
        self.setAttribute(Qt.WA_DeleteOnClose)
        palette = self.palette()
        palette.setColor(QPalette.Background, Qt.black)
        self.setPalette(palette)
        self.setSizePolicy(QSizePolicy.MinimumExpanding,
                           QSizePolicy.MinimumExpanding)

        self.offset, self.origin, self.pressPos, self.dragPos = QPoint(
        ), QPoint(), QPoint(), QPoint()
        self.tapTimer = QBasicTimer()
        self.zoomPixmap, self.maskPixmap = QPixmap(), QPixmap()
Beispiel #3
0
    def __init__(self, *args):
        super().__init__(*args)
        self.main_window = None
        self.list_widget = None
        self.item_cnt = 0
        self.item_dict = {}
        self.selected_id = ''
        self.height = 600

        self.status = ''
        self.temp_algorithm = ''
        self.temp_id = ''
        self.temp_item = None
        self.p_list_copy = None

        self.color = QColor(0, 0, 0)

        self.xcenter = 0
        self.ycenter = 0
        self.w = 0
        self.h = 0
        self.xstart = -1
        self.ystart = -1

        self.rb = QRubberBand(QRubberBand.Rectangle, self)
Beispiel #4
0
 def mousePressEvent(self, event):
     """Go to the next / previous image, or be able to drag the image with a hand."""
     if self.rband_state == "initial":
         self.rband = QRubberBand(QRubberBand.Rectangle, self)
         self.rband_origin = event.pos()
         self.rband.setGeometry(QRect(self.rband_origin, QSize()))
         self.rband.show()
         self.rband_state = "set-endpoint"
     elif self.rband_state == "drawn":
         if self.rband_corner == "nw":
             self.rband_state = "set-origin"
         elif self.rband_corner == "se":
             self.rband_state = "set-endpoint"
         elif self.rband_corner == "inside":
             self.rband_state = "move"
             self.setCursor(QCursor(Qt.ClosedHandCursor))
             self.rband_previous_pos = event.pos()
     else:
         if event.button() == Qt.LeftButton:
             x = event.x()
             if x < 100:
                 self.go_prev_img()
             elif x > self.width() - 100:
                 self.go_next_img()
             else:
                 self.setDragMode(QGraphicsView.ScrollHandDrag)
     QGraphicsView.mousePressEvent(self, event)
Beispiel #5
0
 def __init__(self, *args, **kwargs):
   super().__init__(*args, **kwargs)
   self.rubberBandActive = False
   self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
   self.baseRect = QRect()
   self.clearSelection()
   self.setStyleSheet("border: 1px solid black")
Beispiel #6
0
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.setupUi(self)

        # origin
        self.hh = 640
        self.ww = 640
        self.idx = 0
        self.origin = QPoint()
        self.rubberband = QRubberBand(QRubberBand.Rectangle, self)
        self.cropEnable = False

        # file
        self.a_fileselect.triggered.connect(self.fileselect)
        self.a_folderselect.triggered.connect(self.folderselect)
        self.a_exit.triggered.connect(self.exit)

        # button
        self.b_prev.clicked.connect(self.prev)
        self.b_next.clicked.connect(self.next)

        # edit
        self.a_togray.triggered.connect(self.togray)
        self.a_rotate.triggered.connect(self.rotate)
        self.a_crop.triggered.connect(self.crop)
        self.a_original.triggered.connect(self.original)
Beispiel #7
0
    def __init__(self):

        self.figure = Figure()
        self.canvas = FigureCanvas(self.figure)
        self.canvas.setMinimumWidth(200)
        self.canvas.setMinimumHeight(200)
        self.previous_dpi = self.figure.get_dpi()
        # Add axes that fill the figure (while maintaining aspect ratio)
        # https://stackoverflow.com/a/6377406/
        self.axes = self.figure.add_axes([0, 0, 1, 1])

        # Make it possible to focus on the canvas by clicking on it.
        # This allows the canvas to capture keypresses.
        # https://stackoverflow.com/questions/22043549/
        # http://doc.qt.io/qt-5/qt.html#FocusPolicy-enum
        self.canvas.setFocusPolicy(Qt.ClickFocus)

        self.canvas.setCursor(Qt.OpenHandCursor)
        self.drag_position = None

        self.rectangle_select_interaction = None
        self.save_rectangle = None
        self.rect_rubberband = QRubberBand(QRubberBand.Rectangle, self.canvas)

        self.canvas.mpl_connect('button_press_event', self.button_press_event)
        self.canvas.mpl_connect('button_release_event',
                                self.button_release_event)
        self.canvas.mpl_connect('motion_notify_event',
                                self.motion_notify_event)
        self.canvas.mpl_connect('key_press_event', self.key_press_event)
        self.canvas.mpl_connect('scroll_event', self.scroll_event)
        self.canvas.mpl_connect('resize_event', self.resize_event)
    def mousePressEvent(self, eventQMouseEvent):

        if eventQMouseEvent.buttons() == Qt.LeftButton:
            self.originQPoint = eventQMouseEvent.pos()
            self.currentQRubberBand = QRubberBand(QRubberBand.Rectangle, self)
            self.sequence.append(self.currentQRubberBand)

            r = randint(0, 255)
            g = randint(0, 255)
            b = randint(0, 255)
            palette = QPalette()
            palette.setColor(self.currentQRubberBand.foregroundRole(),
                             QColor(r, g, b))
            self.currentQRubberBand.setPalette(palette)

            self.currentQRubberBand.setGeometry(
                QRect(self.originQPoint, QSize()))
            self.currentQRubberBand.show()

        elif eventQMouseEvent.buttons() == Qt.RightButton:
            found = False
            for rect in self.sequence:
                if (rect.geometry().contains(eventQMouseEvent.pos())):
                    self.menu = MenuRectangle(self._timeline, eventQMouseEvent,
                                              rect, self.imageLabel,
                                              self.sequence)
                    found = True
            if not found:
                self.menuglobalimage = MenuGlobalImage(
                    self._timeline, eventQMouseEvent, self._topic,
                    self.sequence, self.imageLabel, self.stamp)
Beispiel #9
0
    def __init__(self, parent=None):
        super(ImageViewer, self).__init__(parent)
        self.setRenderHints(QPainter.Antialiasing
                            | QPainter.SmoothPixmapTransform)
        #self.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
        self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.setDragMode(QGraphicsView.ScrollHandDrag)
        #self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        #self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self._scene = ImageViewerScene(self)
        self.setScene(self._scene)
        self._create_grid()
        self._create_grid_lines()
        self._pixmap = None
        self._selection_mode = SELECTION_MODE.NONE

        # polygon selection
        _polygon_guide_line_pen = QPen(QtGui.QColor(235, 72, 40))
        _polygon_guide_line_pen.setWidth(2)
        _polygon_guide_line_pen.setStyle(QtCore.Qt.DotLine)
        self._polygon_guide_line = QGraphicsLineItem()
        self._polygon_guide_line.setVisible(False)
        self._polygon_guide_line.setPen(_polygon_guide_line_pen)
        self._scene.addItem(self._polygon_guide_line)
        self._current_polygon = None
        # rectangle selection
        self._box_origin = QPoint()
        self._box_picker = QRubberBand(QRubberBand.Rectangle, self)

        # free selection
        self._current_free_path = None
        self._is_drawing = False
        self._last_point_drawn = QPoint()
        self._current_label = None
Beispiel #10
0
    def __init__(self, parent=None):
        QLabel.__init__(self, parent)
        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
        self.origin = QPoint()

        self.startSelection = False
        self.endSelection = False
 def __init__(self, timeline, topic, msg, stamp):
     super(CaptureImage, self).__init__()
     self._timeline = timeline
     self._topic = topic
     #INISIALIZING MESSAGE AND COMMON ATTRIBUTES
     self._msg = msg
     self.imageLabel.header = self._msg.header
     self.imageLabel.imageTopic = self._topic
     #ORIGINAL TIME FROM THE ORIGINAL BAG SO THAT WE SAVE THAT SAME TIME IN THE NEW BAG
     self.stamp = stamp
     #WE HAVE TO DO BECAUSE RECT ARE RELATED WITH THE WIDGET WHICH CREATED THEM
     #SO IN ORDER TO SEE AND DELETE THEM FROM THE NEW WIDGET WE HAVE TO RELATE THEM WITH IT
     #***NOTE***: OBJECTS STORED IN SEQUENCE ARE OF TYPE QRUBBERBAND WHEREAS IN IMAGELABEL ARE
     #OF TYPE RECT
     if len(self.sequence) > 0:
         aux_sequence = []
         for rectangle in self.sequence:
             self.currentQRubberBand = QRubberBand(QRubberBand.Rectangle,
                                                   self)
             self.currentQRubberBand.setGeometry(rectangle.x(),
                                                 rectangle.y(),
                                                 rectangle.width(),
                                                 rectangle.height())
             aux_sequence.append(self.currentQRubberBand)
             self.currentQRubberBand.show()
         del self.sequence[:]
         for rectangle in aux_sequence:
             self.sequence.append(rectangle)
Beispiel #12
0
 def mousePressEvent(self, eventQMouseEvent):
     self.originQPoint = self.mapFrom(self, eventQMouseEvent.pos())
     self.first_x = int(eventQMouseEvent.x())
     self.first_y = int(eventQMouseEvent.y())
     self.currentQRubberBand = QRubberBand(QRubberBand.Rectangle, self)
     self.currentQRubberBand.setGeometry(QRect(self.originQPoint, QSize()))
     self.currentQRubberBand.show()
Beispiel #13
0
    def __init__(self, parent):
        super().__init__()

        self.dots = parent
        self.scene = QGraphicsScene(self)
        self.view = ControlView(self)

        self.control = ''  ## shared
        self.pathMakerOn = False  ## shared
        self.openPlayFile = ''  ## shared
        self.pathList = []  ## used by animations, updated here

        self.pathMaker = PathMaker(self)
        self.mapper = InitMap(self)
        self.sideCar = SideCar(self)

        self.animation = Animation(self)
        self.sideShow = SideShow(self)
        self.initBkg = InitBkg(self)

        self.scene.setSceneRect(0, 0, common["ViewW"], common["ViewH"])

        self.setFixedSize(common["ViewW"] + 2, common["ViewH"] + 2)

        self.key = ''
        self.pixCount = 0

        self.origin = QPoint(0, 0)
        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)

        self.setMouseTracking(True)
        self.view.viewport().installEventFilter(self)
        self.view.keysSignal[str].connect(self.setKeys)
Beispiel #14
0
    def __init__(self, parent=None):
        super().__init__(parent=parent)

        self.cursor = QGraphicsLineItem()
        self.scene().addItem(self.cursor)

        self.xvalues = {}

        self.chart = QChart()
        self.setChart(self.chart)
        self.chart.legend().setVisible(True)
        self.chart.legend().setAlignment(Qt.AlignTop)
        self.ncurves = 0
        self.setRenderHint(QPainter.Antialiasing)

        # Selection features
        # self.setRubberBand(QChartView.HorizontalRubberBand)
        self.selectionBand = QRubberBand(QRubberBand.Rectangle, self)
        self.selecting = False
        self.initialClick = QPoint()

        # Track mouse
        self.setMouseTracking(True)

        self.labelValue = QLabel(self)
        self.labelValue.setStyleSheet(
            "background-color: rgba(255,255,255,75%); color: black;")
        self.labelValue.setAlignment(Qt.AlignCenter)
        self.labelValue.setMargin(5)
        self.labelValue.setVisible(False)

        self.build_style()
Beispiel #15
0
    def __init__(self, *args, **kwargs):
        super(DragListWidget, self).__init__(*args, **kwargs)
        self.resize(400, 400)
        # 隐藏横向滚动条
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        # 不能编辑
        self.setEditTriggers(self.NoEditTriggers)
        # 开启拖功能
        self.setDragEnabled(True)
        # 只能往外拖
        self.setDragDropMode(self.DragOnly)
        # 忽略放
        self.setDefaultDropAction(Qt.IgnoreAction)
        # ****重要的一句(作用是可以单选,多选。Ctrl、Shift多选,可从空白位置框选)****
        # ****不能用ExtendedSelection,因为它可以在选中item后继续框选会和拖拽冲突****
        self.setSelectionMode(self.ContiguousSelection)
        # 设置从左到右、自动换行、依次排列
        self.setFlow(self.LeftToRight)
        self.setWrapping(True)
        self.setResizeMode(self.Adjust)
        # item的间隔
        self.setSpacing(5)
        # 橡皮筋(用于框选效果)
        self._rubberPos = None
        self._rubberBand = QRubberBand(QRubberBand.Rectangle, self)

        self.initItems()
Beispiel #16
0
    def __init__(self, scene, parent=None, show_info=True):
        super(HVView, self).__init__(scene, parent)
        self.parent = parent
        self.show_info = show_info
        self.setDragMode(QGraphicsView.ScrollHandDrag)
        self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.setResizeAnchor(QGraphicsView.AnchorUnderMouse)
        self.setMouseTracking(True)

        self.zoom = 1
        self.rotate = 0
        self.shown_text = None

        self.vertical_scroll_value = 0
        self.horizontal_scroll_value = 0

        self.font = QFont('times', 15)
        font_metrics = QFontMetrics(self.font)
        self.text_height = font_metrics.height()

        # For selection rect (using rubber band)
        self.rubber_band = QRubberBand(QRubberBand.Rectangle, self)
        # the origin position of rubber band
        self.rubber_band_origin = QPoint()
        # indicate whether rubber band could be changed under mouseMoveEvent
        self.rubber_band_changable = False
        self.rect_top_left = (0, 0)
        self.setViewportUpdateMode(0)
Beispiel #17
0
 def mpe(self, event):  # функция нажатия мыши
     self.origin = event.pos()
     if not self.rubberBand:
         self.rubberBand = QRubberBand(QRubberBand.Rectangle,
                                       self.ui.graphicsView)
     self.rubberBand.setGeometry(QRect(self.origin, QSize()))
     self.rubberBand.show()  # показать прямоугольник
Beispiel #18
0
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.selectAreaWidget = None

        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
        self.screenshotWidget = None
        color = QColor(72, 41, 12).name(QColor.HexRgb)
        self.ui.hexColorLabel.setText(color)
        self.ui.bobberColorLabel.setStyleSheet("QLabel { background-color : " +
                                               color + "; }")

        self.fish = GetTheFish()
        self.fish.gui = True
        self.updateGui()
        self.thread = ThreadRunner(self.fish)

        # connects
        self.ui.colorButton.clicked.connect(self.openScreenshot)
        self.ui.startButton.clicked.connect(self.toggleFishing)
        self.ui.areaButton.clicked.connect(self.take_screenshot)
        self.ui.thresholdBobberSpinBox.valueChanged.connect(self.guiUpdated)
        self.ui.thresholdCatchSpinBox.valueChanged.connect(self.guiUpdated)
        self.ui.jumpToBobberCheck.stateChanged.connect(self.guiUpdated)
        self.ui.verboseCheck.stateChanged.connect(self.guiUpdated)
Beispiel #19
0
 def __init__(self, parent = None):
 
     QLabel.__init__(self, parent)
     self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
     self.origin = QPoint()
     self.end = QPoint()
     self.title = 'Select the region of interest and close the window'
     self.setWindowTitle(self.title)
Beispiel #20
0
    def mousePressEvent(self, event):
        super(PieView, self).mousePressEvent(event)

        self.origin = event.pos()
        if not self.rubberBand:
            self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
        self.rubberBand.setGeometry(QRect(self.origin, QSize()))
        self.rubberBand.show()
Beispiel #21
0
    def __InitializeMouseLine(self):
        self.__mouseLines = [
            QRubberBand(QRubberBand.Line, self) for _ in range(4)
        ]

        for mouseLine in self.__mouseLines:
            mouseLine.setGeometry(QRect(QPoint(0, 0), QPoint(0, 0)))
            mouseLine.setPalette(self.__boundingBoxColor(Label.OTHER))
            mouseLine.show()
    def mousePressEvent(self, a0: QtGui.QMouseEvent) -> None:
        super().mousePressEvent(a0)
        self.origin = a0.pos()
        print(self.origin)

        if self.rubber is None:
            self.rubber = QRubberBand(QRubberBand.Line, self)
        self.rubber.setGeometry(QRect(self.origin, QSize()))
        self.rubber.show()
Beispiel #23
0
    def __init__(self, parent=None, func=None):

        self.func = func
        QLabel.__init__(self, parent)
        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
        self.origin = QPoint()
        self.slitpos = 250
        self.focus = (333, 666, 333, 666)  #xs,xe,ys,ye
        self.geometry = (0, 0, 1000, 1000)  #x,y,w,h
Beispiel #24
0
    def mousePressEvent(self, event):
        """Handle mouse press event."""
        self.origin = event.pos()
        if not (self.rubber_band):
            self.rubber_band = QRubberBand(QRubberBand.Rectangle, self)
        self.rubber_band.setGeometry(QRect(self.origin, QSize()))
        self.rubber_band.show()

        #print(self.rubber_band.height())
        print(self.rubber_band.x())
    def __init__(self, parent):
        super(OccView, self).__init__(parent)
        self.myCurrentMode = CurrentAction3d.DynamicRotation
        self.myDegenerateModeIsOn = True
        self.myRectBand = QRubberBand()

        self.myXmin = 0
        self.myYmin = 0
        self.myXmax = 0
        self.myYmax = 0
Beispiel #26
0
 def __init__(self, parent=None, **kargs):
     RawImageWidget.__init__(self, parent=parent, scaled=True)
     super(QWidget, self).__init__(parent)
     self.setWindowTitle("image")
     self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
     self.mousePressPosition = QPoint(0, 0)
     self.mouseReleasePosition = QPoint(0, 0)
     self.clientCallback = None
     self.mousePressed = False
     self.okToClose = False
     self.setGeometry(QRect(10, 300, 600, 600))
Beispiel #27
0
    def __init__(self, mainwin):
        QLabel.__init__(self)

        self.setAcceptDrops(True)

        self.marker = QRubberBand(QRubberBand.Rectangle, self)
        self.markOrigin = self.markEnd = None

        self.setContextMenuPolicy(Qt.ActionsContextMenu)
        self.addAction(mainwin.cropAction)
        self.addAction(mainwin.saveAction)
Beispiel #28
0
    def __init__(self,image_path):
        super().__init__()

        # self.close_signal.connect(self.ocr)
        self.image_path=image_path
        self.cut = False
        self.setMouseTracking(True)
        self.rubberBand = QRubberBand(QRubberBand.Rectangle, self)
        # print("=======")
        self.showFullScreen()
        self.setWindowOpacity(0.5)
Beispiel #29
0
 def mousePressEvent(self, event):
     if event.button() == Qt.RightButton:
         if self.rubberBand:
             self.rubberBand.hide()
         self.close()
     if event.button() == Qt.LeftButton:
         self.origin = event.pos()
         if not self.rubberBand:
             self.rubberBand = QRubberBand(QRubberBand.Rectangle, None)
         self.rubberBand.setGeometry(QRect(self.origin, QSize()))
         self.rubberBand.show()
Beispiel #30
0
    def mousePressEvent(self, event):
        """"""

        if self.capture_widget:

            self.selection_area = QRubberBand(QRubberBand.Rectangle, self)
            self.selection_area.setGeometry(QRect(event.pos(), QSize()))
            self.origin = event.pos()
            self.selection_area.show()

        super().mousePressEvent(event)