def get_widget_value(widget: QtWidgets.QWidget) -> Any: """Returns value of form field. This determines the method appropriate for the type of widget. Args: widget: The widget for which to return value. Returns: value (can be bool, numeric, string, or None) """ if hasattr(widget, "isChecked"): val = widget.isChecked() elif hasattr(widget, "value"): val = widget.value() elif hasattr(widget, "currentText"): val = widget.currentText() elif hasattr(widget, "text"): val = widget.text() elif hasattr(widget, "currentIndex"): val = widget.currentIndex() else: val = None if widget.property("field_data_type") == "sci": val = float(val) elif widget.property("field_data_type") == "int": val = int(val) elif widget.property("field_data_type").startswith("file_"): val = None if val == "None" else val return val
def setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex): model.setData(index, editor.currentText(), Qt.EditRole)
def setModelData(self, editor: QtWidgets.QWidget, model: QtCore.QAbstractItemModel, index: QtCore.QModelIndex): prim = index.data(QtCore.Qt.UserRole) prim.SetTypeName(editor.currentText()) model.setData(index, editor.currentText(), QtCore.Qt.EditRole)