Ejemplo n.º 1
0
def set_widget_state(widget: QWidget, config: dict, widget_name=None):
    try:
        if widget_name is None:
            widget_name = widget.objectName()
        if widget_name not in config:
            return
        if isinstance(widget, QLineEdit):
            widget.setText(config[widget_name])
        elif isinstance(widget, QComboBox):
            widget.setUpdatesEnabled(False)
            bs = widget.blockSignals(True)
            widget.clear()
            widget.addItems(config[widget_name]['items'])
            widget.blockSignals(bs)
            widget.setUpdatesEnabled(True)
            widget.setCurrentIndex(config[widget_name]['index'])
            # Force index change event in the case of index=0
            if config[widget_name]['index'] == 0:
                widget.currentIndexChanged.emit(0)
        elif isinstance(widget, QtWidgets.QAbstractButton):
            widget.setChecked(config[widget_name])
        elif isinstance(widget, QPlainTextEdit) or isinstance(
                widget, QtWidgets.QTextEdit):
            widget.setPlainText(config[widget_name])
        elif isinstance(widget, QtWidgets.QSpinBox) or isinstance(
                widget, QtWidgets.QDoubleSpinBox):
            widget.setValue(config[widget_name])
    except:
        return
Ejemplo n.º 2
0
 def __clearMainWindow_(self, widget: QWidget) -> None:
     if isinstance(widget, QLineEdit):
         widget.clear()
     elif isinstance(widget, QSpinBox):
         widget.setValue(0)
     elif isinstance(widget, QPlainTextEdit):
         widget.setPlainText('')
     elif isinstance(widget, QCheckBox):
         widget.setChecked(False)
     elif isinstance(widget, QComboBox):
         widget.setCurrentIndex(0)
     elif isinstance(widget, QTableView):
         model = widget.model()
         model.clear()
     else:
         l = widget.children()
         for w in l:
             self.__clearMainWindow_(w)