def setupUi(self, parent): self.resize(275, 172) self.setWindowTitle('Convert units') self.layout = QtGui.QVBoxLayout(parent) self.layout.setSizeConstraint(QtGui.QLayout.SetFixedSize) align = (QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.layout1 = QtGui.QHBoxLayout() self.label1 = QtGui.QLabel() self.label1.setMinimumSize(QtCore.QSize(100, 0)) self.label1.setText('Convert from:') self.label1.setAlignment(align) self.layout1.addWidget(self.label1) self.source_units = QtGui.QLineEdit() self.source_units.setReadOnly(True) self.layout1.addWidget(self.source_units) self.layout.addLayout(self.layout1) self.layout2 = QtGui.QHBoxLayout() self.label2 = QtGui.QLabel() self.label2.setMinimumSize(QtCore.QSize(100, 0)) self.label2.setText('to:') self.label2.setAlignment(align) self.layout2.addWidget(self.label2) self.destination_units = QtGui.QLineEdit() self.layout2.addWidget(self.destination_units) self.layout.addLayout(self.layout2) self.message = QtGui.QLabel() self.message.setText('') self.message.setAlignment(QtCore.Qt.AlignCenter) self.layout.addWidget(self.message) self.buttonBox = QtGui.QDialogButtonBox() self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) self.layout.addWidget(self.buttonBox) self.buttonBox.setEnabled(False) self.buttonBox.accepted.connect(self.accept) self.destination_units.textChanged.connect(self.check) self.setLayout(self.layout) self.destination_units.setFocus()
def __init__(self, parent, target, feat): super().__init__(parent) self._feat = feat layout = QtGui.QHBoxLayout(self) if feat.keys: wid = QtGui.QComboBox() if isinstance(feat.keys, dict): self._keys = list(feat.keys.keys()) else: self._keys = list(feat.keys) wid.addItems([str(key) for key in self._keys]) wid.currentIndexChanged.connect(self._combobox_changed) else: wid = QtGui.QLineEdit() wid.textChanged.connect(self._lineedit_changed) layout.addWidget(wid) self._key_widget = wid wid = WidgetMixin.from_feat(feat) wid.bind_feat(feat) wid.feat_key = self._keys[0] wid.lantz_target = target layout.addWidget(wid) self._value_widget = wid
def __init__(self, argspec, parent=None, window_title='Function arguments', doc=None): super().__init__(parent) vlayout = QtGui.QVBoxLayout(self) layout = QtGui.QFormLayout() widgets = [] defaults = argspec.defaults if argspec.defaults else () defaults = ('', ) * (len(argspec.args[1:]) - len(defaults)) + defaults self.arguments = {} for arg, default in zip(argspec.args[1:], defaults): wid = QtGui.QLineEdit(self) wid.setObjectName(arg) wid.setText(json.dumps(default)) self.arguments[arg] = default layout.addRow(arg, wid) widgets.append(wid) wid.textChanged.connect(self.on_widget_change(wid)) if doc and arg in doc: wid.setToolTip(doc[arg]) self.widgets = widgets buttonBox = QtGui.QDialogButtonBox() buttonBox.setOrientation(QtCore.Qt.Horizontal) buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) buttonBox.setEnabled(True) buttonBox.accepted.connect(self.accept) vlayout.addLayout(layout) label = QtGui.QLabel() label.setText('Values are decoded from text using as JSON.') vlayout.addWidget(label) vlayout.addWidget(buttonBox) self.buttonBox = buttonBox self.valid = {wid.objectName(): True for wid in self.widgets} self.setWindowTitle(window_title)
def _createGUILine(self): text = QtGui.QLineEdit() return text