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 )
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()
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)
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)
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")
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)
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)
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
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)
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()
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)
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()
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()
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)
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() # показать прямоугольник
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)
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)
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()
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()
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
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
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))
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)
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)
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()
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)