Python qtpy.QtCore.Signal() Examples
The following are 7
code examples of qtpy.QtCore.Signal().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
qtpy.QtCore
, or try the search function
.
Example #1
Source File: threading.py From napari with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __getattr__(self, name): """Pass through attr requests to signals to simplify connection API. The goal is to enable ``worker.signal.connect`` instead of ``worker.signals.yielded.connect``. Because multiple inheritance of Qt classes is not well supported in PyQt, we have to use composition here (signals are provided by QObjects, and QRunnable is not a QObject). So this passthrough allows us to connect to signals on the ``_signals`` object. """ # the Signal object is actually a class attribute attr = getattr(self._signals.__class__, name, None) if isinstance(attr, Signal): # but what we need to connect to is the instantiated signal # (which is of type `SignalInstance` in PySide and # `pyqtBoundSignal` in PyQt) return getattr(self._signals, name)
Example #2
Source File: QComplexWidgets.py From pylustrator with GNU General Public License v3.0 | 5 votes |
def __init__(self, axis: str, signal_target_changed: QtCore.Signal): """ A widget to change the tick properties Args: axis: whether to use the "x" or "y" axis signal_target_changed: a signal to emit when the target changed """ QtWidgets.QWidget.__init__(self) self.setWindowTitle("Figure - " + axis + "-Axis - Ticks - Pylustrator") self.setWindowIcon(QtGui.QIcon(os.path.join(os.path.dirname(__file__), "icons", "ticks.ico"))) self.layout = QtWidgets.QVBoxLayout(self) self.axis = axis self.label = QtWidgets.QLabel( "Ticks can be specified, one tick pre line.\nOptionally a label can be provided, e.g. 1 \"First\",") self.layout.addWidget(self.label) self.layout2 = QtWidgets.QHBoxLayout() self.layout.addLayout(self.layout2) self.input_ticks = TextWidget(self.layout2, axis + "-Ticks:", multiline=True, horizontal=False) self.input_ticks.editingFinished.connect(self.ticksChanged) self.input_ticks2 = TextWidget(self.layout2, axis + "-Ticks (minor):", multiline=True, horizontal=False) self.input_ticks2.editingFinished.connect(self.ticksChanged2) self.input_scale = ComboWidget(self.layout, axis + "-Scale", ["linear", "log", "symlog", "logit"]) self.input_scale.link(axis + "scale", signal_target_changed) self.input_font = TextPropertiesWidget(self.layout) self.input_labelpad = NumberWidget(self.layout, axis + "-Labelpad", min=-999) self.input_labelpad.link(axis + "axis.labelpad", signal_target_changed, direct=True) self.button_ok = QtWidgets.QPushButton("Ok") self.layout.addWidget(self.button_ok) self.button_ok.clicked.connect(self.hide)
Example #3
Source File: QComplexWidgets.py From pylustrator with GNU General Public License v3.0 | 5 votes |
def __init__(self, layout: QtWidgets.QLayout, axis: str, signal_target_changed: QtCore.Signal): """ a widget to change the properties of an axes (label, limits) Args: layout: the layout to which to add this widget axis: whether to use "x" or the "y" axis signal_target_changed: the signal when a target changed """ QtWidgets.QWidget.__init__(self) layout.addWidget(self) self.layout = QtWidgets.QHBoxLayout(self) self.layout.setContentsMargins(0, 0, 0, 0) self.targetChanged = signal_target_changed self.targetChanged.connect(self.setTarget) self.input_label = TextWidget(self.layout, axis + "-Label:") def wrapTargetLabel(axis_object): try: target = getattr(getattr(axis_object, f"get_{axis}axis")(), "get_label")() except AttributeError: target = None self.targetChanged_wrapped.emit(target) self.targetChanged.connect(wrapTargetLabel) self.input_label.link("text", signal=self.targetChanged_wrapped) self.input_lim = DimensionsWidget(self.layout, axis + "-Lim:", "-", "", free=True) self.input_lim.link(axis + "lim", signal=self.targetChanged) self.button_ticks = QtWidgets.QPushButton( QtGui.QIcon(os.path.join(os.path.dirname(__file__), "icons", "ticks.ico")), "") self.button_ticks.clicked.connect(self.showTickWidget) self.layout.addWidget(self.button_ticks) self.tick_edit = QTickEdit(axis, signal_target_changed)
Example #4
Source File: reportsplugin.py From spyder-reports with MIT License | 5 votes |
def __init__(self, sig_write): """Initialize object. Args: sig_write (Signal): signal to emit """ super(CaptureStdOutput, self).__init__() self.sig_write = sig_write
Example #5
Source File: frontend_widget.py From qtconsole with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _show_interpreter_prompt_for_reply(self, msg): """ Shows a prompt for the interpreter given an 'execute_reply' message. """ self._show_interpreter_prompt() #------ Signal handlers ----------------------------------------------------
Example #6
Source File: test_qtcore.py From qtpy with MIT License | 5 votes |
def test_QtCore_SignalInstance(): class ClassWithSignal(QtCore.QObject): signal = QtCore.Signal() instance = ClassWithSignal() assert isinstance(instance.signal, QtCore.SignalInstance)
Example #7
Source File: QLinkableWidgets.py From pylustrator with GNU General Public License v3.0 | 4 votes |
def link(self, property_name: str, signal: QtCore.Signal = None, condition: callable = None, direct: bool = False): self.element = None self.direct = direct if direct: parts = property_name.split(".") s = self def get(): target = s.element for part in parts: target = getattr(target, part) return target def set(v): get() target = s.element for part in parts[:-1]: target = getattr(target, part) setattr(target, parts[-1], v) return [s.element] self.setLinkedProperty = set self.getLinkedProperty = get self.serializeLinkedProperty = lambda x: "." + property_name + " = %s" % x else: def set(v): elements = [] getattr(self.element, "set_" + property_name)(v) elements.append(self.element) for elm in self.element.figure.selection.targets: elm = elm.target if elm != self.element: try: getattr(elm, "set_" + property_name, None)(v) except TypeError as err: pass else: elements.append(elm) return elements self.setLinkedProperty = set # lambda text: getattr(self.element, "set_"+property_name)(text) self.getLinkedProperty = lambda: getattr(self.element, "get_" + property_name)() self.serializeLinkedProperty = lambda x: ".set_" + property_name + "(%s)" % x if condition is None: self.condition = lambda x: True else: self.condition = condition self.editingFinished.connect(self.updateLink) signal.connect(self.setTarget)