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)