Source code for pydm.widgets.checkbox

from qtpy.QtWidgets import QCheckBox
from .base import PyDMWritableWidget


[docs]class PyDMCheckbox(QCheckBox, PyDMWritableWidget): """ A QCheckbox with support for Channels and more from PyDM Parameters ---------- parent : QWidget The parent widget for the Label init_channel : str, optional The channel to be used by the widget. """ def __init__(self, parent=None, init_channel=None): QCheckBox.__init__(self, parent) PyDMWritableWidget.__init__(self, init_channel=init_channel) self.clicked.connect(self.send_value)
[docs] def value_changed(self, new_val): """ Callback invoked when the Channel value is changed. Sets the checkbox checked or not based on the new value. Parameters ---------- new_val : int The new value from the channel. """ super(PyDMCheckbox, self).value_changed(new_val) if new_val is None: return if new_val > 0: self.setChecked(True) else: self.setChecked(False)
[docs] def send_value(self, checked): """ Method that emit the signal to notify the Channel that a new value was written at the widget. Parameters ---------- checked : bool True in case the checkbox was checked, False otherwise. """ if checked: self.send_value_signal.emit(1) else: self.send_value_signal.emit(0)