Beispiel #1
0
    def __init__(self,
                 parent=None,
                 cursor: AnimatedCursor = None,
                 frame=0,
                 *args,
                 **kwargs):
        super().__init__(parent, *args, **kwargs)

        self._main_layout = QtWidgets.QVBoxLayout(self)
        self._hotspot_picker = CursorHotspotWidget(cursor=cursor, frame=frame)
        self._delay_adjuster = QtWidgets.QSpinBox()
        self._delay_adjuster.setRange(0, 0xFFFF)
        self._delay_adjuster.setSingleStep(1)

        self._frame = QtWidgets.QFrame()
        self._f_lay = QtWidgets.QVBoxLayout()
        self._f_lay.setContentsMargins(0, 0, 0, 0)
        self._f_lay.addWidget(self._hotspot_picker)
        self._frame.setLayout(self._f_lay)
        self._frame.setFrameStyle(QtWidgets.QFrame.Panel
                                  | QtWidgets.QFrame.Sunken)
        self._frame.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                  QtWidgets.QSizePolicy.Fixed)

        self._main_layout.addWidget(self._frame)
        self._main_layout.setAlignment(self._frame, QtCore.Qt.AlignHCenter)
        self._main_layout.addWidget(self._delay_adjuster)

        self.setLayout(self._main_layout)
        self.setFrameStyle(QtWidgets.QFrame.Panel | QtWidgets.QFrame.Raised)

        # Copy properties from the hotspot picking widget...
        self._hotspot_picker.userHotspotChange.connect(
            lambda x, y: self.userHotspotChange.emit(x, y))

        # Update the delay value...
        self.delay = self.delay
        self._delay_adjuster.setValue(self.delay)

        # Connect spin box to delay value
        self._delay_adjuster.valueChanged.connect(self._change_delay)
    def __init__(self, parent=None, cursor: AnimatedCursor = None):
        super().__init__(parent)
        super().setWindowFlags(QtCore.Qt.Window
                               | QtCore.Qt.WindowCloseButtonHint)

        self._colors = ["white", "black"]

        self._main_layout = QtWidgets.QVBoxLayout()

        self._preview_panel = PreviewArea(None, cursor)
        self._frame = QtWidgets.QFrame()
        self._frame.setFrameStyle(QtWidgets.QFrame.Box
                                  | QtWidgets.QFrame.Plain)
        self._box = QtWidgets.QVBoxLayout()
        self._box.addWidget(self._preview_panel)
        self._frame.setLayout(self._box)
        self._box.setContentsMargins(0, 0, 0, 0)

        self._viewers = []

        for color in self._colors:
            widget = QtWidgets.QWidget()
            widget.setStyleSheet(f"background-color: {color};")
            hbox = QtWidgets.QHBoxLayout()

            for size in cursor_util.DEFAULT_SIZES:
                c_view = CursorDisplayWidget(cursor=cursor, size=size[0])
                self._viewers.append(c_view)
                hbox.addWidget(c_view)

            widget.setLayout(hbox)
            self._main_layout.addWidget(widget)

        self._main_layout.addWidget(self._frame)

        self.setLayout(self._main_layout)
        self.setMinimumSize(self.sizeHint())

        # Set to delete this dialog on close...
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
    def __init__(self,
                 parent=None,
                 label_text="Label",
                 def_cursor=None,
                 *args,
                 **kwargs):
        super().__init__(parent, *args, **kwargs)

        self.setFrameStyle(QtWidgets.QFrame.Panel | QtWidgets.QFrame.Raised)

        self._main_layout = QtWidgets.QVBoxLayout()
        self._label = QtWidgets.QLabel(label_text)
        self._label.setAlignment(QtCore.Qt.AlignCenter)
        self._viewer = CursorViewEditWidget(cursor=def_cursor)
        self._file_sel_btn = QtWidgets.QPushButton("Select File")
        self._current_file = None

        # Make a frame to wrap around the hotspot picker and add a border...
        self._frame = QtWidgets.QFrame()
        self._f_lay = QtWidgets.QVBoxLayout()
        # self._f_lay.setMargin(0)
        self._f_lay.setContentsMargins(0, 0, 0, 0)
        self._f_lay.addWidget(self._viewer)
        self._frame.setLayout(self._f_lay)
        self._frame.setFrameStyle(QtWidgets.QFrame.Panel
                                  | QtWidgets.QFrame.Sunken)
        self._frame.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                  QtWidgets.QSizePolicy.Fixed)

        self._main_layout.addWidget(self._label)
        self._main_layout.addWidget(self._frame)
        self._main_layout.addWidget(self._file_sel_btn)

        self._main_layout.setAlignment(self._frame, QtCore.Qt.AlignHCenter)

        self.setLayout(self._main_layout)
        self.setAcceptDrops(True)

        # Events...
        self._file_sel_btn.clicked.connect(self.open_file)