guiqwt.widgets.fit

The fit module provides an interactive curve fitting widget/dialog allowing:
  • to fit data manually (by moving sliders)

  • or automatically (with standard optimization algorithms provided by scipy).

Example

../_images/fit.png

Reference

guiqwt.widgets.fit.guifit(x, y, fitfunc, fitparams, fitargs=None, fitkwargs=None, wintitle=None, title=None, xlabel=None, ylabel=None, param_cols=1, auto_fit=True, winsize=None, winpos=None)[source]

GUI-based curve fitting tool

class guiqwt.widgets.fit.FitDialog(wintitle=None, icon='guiqwt.svg', edit=True, toolbar=False, options=None, parent=None, panels=None, param_cols=1, legend_anchor='TR', auto_fit=False)[source]
class DialogCode
class PaintDeviceMetric
class RenderFlag
class RenderFlags
class RenderFlags(f: Union[QWidget.RenderFlags, QWidget.RenderFlag])
class RenderFlags(a0: QWidget.RenderFlags)
accept(self)
acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, a0: QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
activate_default_tool()

Activate default tool

addAction(self, action: QAction)
addActions(self, actions: Iterable[QAction])
add_panel(panel)

Register a panel to the plot manager

Plot manager’s registration sequence is the following:
  1. add plots

  2. add panels

  3. add tools

add_plot(plot, plot_id=<class 'guiqwt.plot.DefaultPlotID'>)
Register a plot to the plot manager:
  • plot: guiqwt.curve.CurvePlot or guiqwt.image.ImagePlot object

  • plot_id (default id is the plot object’s id: id(plot)): unique ID identifying the plot (any Python object), this ID will be asked by the manager to access this plot later.

Plot manager’s registration sequence is the following:
  1. add plots

  2. add panels

  3. add tools

add_separator_tool(toolbar_id=None)

Register a separator tool to the plot manager: the separator tool is just a tool which insert a separator in the plot context menu

add_tool(ToolKlass, *args, **kwargs)
Register a tool to the manager
  • ToolKlass: tool’s class (guiqwt builtin tools are defined in module guiqwt.tools)

  • args: arguments sent to the tool’s class

  • kwargs: keyword arguments sent to the tool’s class

Plot manager’s registration sequence is the following:
  1. add plots

  2. add panels

  3. add tools

add_toolbar(toolbar, toolbar_id='default')
Add toolbar to the plot manager

toolbar: a QToolBar object toolbar_id: toolbar’s id (default id is string “default”)

adjustSize(self)
autoFillBackground(self) → bool
backgroundRole(self) → QPalette.ColorRole
baseSize(self) → QSize
blockSignals(self, b: bool) → bool
changeEvent(self, a0: QEvent)
childAt(self, p: QPoint) → QWidget
childAt(self, ax: int, ay: int) → QWidget
childEvent(self, a0: QChildEvent)
children(self) → List[QObject]
childrenRect(self) → QRect
childrenRegion(self) → QRegion
clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(self, a0: QCloseEvent)
colorCount(self) → int
configure_panels()

Call all the registred panels ‘configure_panel’ methods to finalize the object construction (this allows to use tools registered to the same plot manager as the panel itself with breaking the registration sequence: “add plots, then panels, then tools”)

connectNotify(self, signal: QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, a0: QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: PyQt5.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(window: QWindow, parent: Optional[QWidget] = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
create_action(title, triggered=None, toggled=None, shortcut=None, icon=None, tip=None, checkable=None, context=1, enabled=None)

Create a new QAction

create_plot(options)

Create the plotting widget (which is an instance of class guiqwt.plot.BaseCurveWidget), add it to the dialog box main layout (guiqwt.plot.CurveDialog.plot_layout) and then add the item list panel

May be overriden to customize the plot layout (guiqwt.plot.CurveDialog.plot_layout)

cursor(self) → QCursor
customEvent(self, a0: QEvent)
deleteLater(self)
depth(self) → int
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(a0: QMetaObject.Connection) → bool
disconnect(self) → None
disconnectNotify(self, signal: QMetaMethod)
done(self, a0: int)
dragEnterEvent(self, a0: QDragEnterEvent)
dragLeaveEvent(self, a0: QDragLeaveEvent)
dragMoveEvent(self, a0: QDragMoveEvent)
dropEvent(self, a0: QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
effectiveWinId(self) → PyQt5.sip.voidptr
ensurePolished(self)
enterEvent(self, a0: QEvent)
event(self, a0: QEvent) → bool
eventFilter(self, a0: QObject, a1: QEvent) → bool
exec(self) → int
exec_(self) → int
find(a0: PyQt5.sip.voidptr) → QWidget
findChild(self, type: type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject
findChild(self, types: Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject
findChildren(self, type: type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
findChildren(self, type: type, regExp: QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
findChildren(self, types: Tuple, regExp: QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]
focusInEvent(self, a0: QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, next: bool) → bool
focusOutEvent(self, a0: QFocusEvent)
focusPolicy(self) → Qt.FocusPolicy
focusPreviousChild(self) → bool
focusProxy(self) → QWidget
focusWidget(self) → QWidget
font(self) → QFont
fontInfo(self) → QFontInfo
fontMetrics(self) → QFontMetrics
foregroundRole(self) → QPalette.ColorRole
frameGeometry(self) → QRect
frameSize(self) → QSize
geometry(self) → QRect
getContentsMargins(self) → Tuple[int, int, int, int]
get_active_plot()

Return the active plot

The active plot is the plot whose canvas has the focus otherwise it’s the “default” plot

get_active_tool()

Return active tool

get_context_menu(plot=None)

Return widget context menu – built using active tools

get_contrast_panel()

Convenience function to get the contrast adjustment panel

Return None if the contrast adjustment panel has not been added to this manager

get_default_plot()

Return default plot

The default plot is the plot on which tools and panels will act.

get_default_tool()

Get default tool

get_default_toolbar()

Return default toolbar

get_fitfunc_arguments()

Return fitargs and fitkwargs

get_itemlist_panel()

Convenience function to get the item list panel

Return None if the item list panel has not been added to this manager

get_main()

Return the main (parent) widget

Note that for py:class:guiqwt.plot.CurveWidget or guiqwt.plot.ImageWidget objects, this method will return the widget itself because the plot manager is integrated to it.

get_panel(panel_id)

Return panel from its ID Panel IDs are listed in module guiqwt.panels

get_plot(plot_id=<class 'guiqwt.plot.DefaultPlotID'>)

Return plot associated to plot_id (if method is called without specifying the plot_id parameter, return the default plot)

get_plots()

Return all registered plots

get_tool(ToolKlass)

Return tool instance from its class

get_toolbar(toolbar_id='default')
Return toolbar from its ID

toolbar_id: toolbar’s id (default id is string “default”)

get_values()

Convenience method to get fit parameter values

get_xcs_panel()

Convenience function to get the X-axis cross section panel

Return None if the X-axis cross section panel has not been added to this manager

get_ycs_panel()

Convenience function to get the Y-axis cross section panel

Return None if the Y-axis cross section panel has not been added to this manager

grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) → QPixmap
grabGesture(self, type: Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)
grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) → None
grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) → int
graphicsEffect(self) → QGraphicsEffect
graphicsProxyWidget(self) → QGraphicsProxyWidget
hasFocus(self) → bool
hasHeightForWidth(self) → bool
hasMouseTracking(self) → bool
hasTabletTracking(self) → bool
height(self) → int
heightForWidth(self, a0: int) → int
heightMM(self) → int
hide(self)
hideEvent(self, a0: QHideEvent)
inherits(self, classname: str) → bool
initPainter(self, painter: QPainter)
inputMethodEvent(self, a0: QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, a0: Qt.InputMethodQuery) → Any
insertAction(self, before: QAction, action: QAction)
insertActions(self, before: QAction, actions: Iterable[QAction])
installEventFilter(self, a0: QObject)
isActiveWindow(self) → bool
isAncestorOf(self, child: QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, a0: QWidget) → bool
isFullScreen(self) → bool
isHidden(self) → bool
isLeftToRight(self) → bool
isMaximized(self) → bool
isMinimized(self) → bool
isModal(self) → bool
isRightToLeft(self) → bool
isSignalConnected(self, signal: QMetaMethod) → bool
isSizeGripEnabled(self) → bool
isVisible(self) → bool
isVisibleTo(self, a0: QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
keyPressEvent(self, a0: QKeyEvent)
keyReleaseEvent(self, a0: QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, id: int)
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, a0: QEvent)
locale(self) → QLocale
logicalDpiX(self) → int
logicalDpiY(self) → int
lower(self)
mapFrom(self, a0: QWidget, a1: QPoint) → QPoint
mapFromGlobal(self, a0: QPoint) → QPoint
mapFromParent(self, a0: QPoint) → QPoint
mapTo(self, a0: QWidget, a1: QPoint) → QPoint
mapToGlobal(self, a0: QPoint) → QPoint
mapToParent(self, a0: QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, a0: QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, a0: QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, a0: QMouseEvent)
mousePressEvent(self, a0: QMouseEvent)
mouseReleaseEvent(self, a0: QMouseEvent)
move(self, a0: QPoint)
move(self, ax: int, ay: int) → None
moveEvent(self, a0: QMoveEvent)
moveToThread(self, thread: QThread)
nativeEvent(self, eventType: Union[QByteArray, bytes, bytearray], message: PyQt5.sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
open(self)
overrideWindowFlags(self, type: Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, state: Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, a0: QPaintEvent)
paintingActive(self) → bool
palette(self) → QPalette
parent(self) → QObject
parentWidget(self) → QWidget
physicalDpiX(self) → int
physicalDpiY(self) → int
pos(self) → QPoint
previousInFocusChain(self) → QWidget
property(self, name: str) → Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

raise_(self)
receivers(self, signal: PYQT_SIGNAL) → int
rect(self) → QRect
refresh(slider_value=None)

Refresh Fit Tool dialog box

register_all_curve_tools()

Register standard, curve-related and other tools

register_all_image_tools()

Register standard, image-related and other tools

register_curve_tools()

Register only curve-related tools

register_image_tools()

Register only image-related tools

register_other_tools()

Register other common tools

register_standard_tools()

Registering basic tools for standard plot dialog –> top of the context-menu

register_tools()

Register the plotting dialog box tools: the base implementation provides standard, curve-related and other tools - i.e. calling this method is exactly the same as calling guiqwt.plot.CurveDialog.register_all_curve_tools()

This method may be overriden to provide a fully customized set of tools

reject(self)
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, id: int)
removeAction(self, action: QAction)
removeEventFilter(self, a0: QObject)
render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren))
render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren)) → None
repaint(self)
repaint(self, x: int, y: int, w: int, h: int) → None
repaint(self, a0: QRect) → None
repaint(self, a0: QRegion) → None
resize(self, a0: QSize)
resize(self, w: int, h: int) → None
resizeEvent(self, a0: QResizeEvent)
restoreGeometry(self, geometry: Union[QByteArray, bytes, bytearray]) → bool
result(self) → int
saveGeometry(self) → QByteArray
screen(self) → QScreen
scroll(self, dx: int, dy: int)
scroll(self, dx: int, dy: int, a2: QRect) → None
sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, on: bool)
setAccessibleDescription(self, description: str)
setAccessibleName(self, name: str)
setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, enabled: bool)
setBackgroundRole(self, a0: QPalette.ColorRole)
setBaseSize(self, basew: int, baseh: int)
setBaseSize(self, s: QSize) → None
setContentsMargins(self, left: int, top: int, right: int, bottom: int)
setContentsMargins(self, margins: QMargins) → None
setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)
setCursor(self, a0: Union[QCursor, Qt.CursorShape])
setDisabled(self, a0: bool)
setEnabled(self, a0: bool)
setFixedHeight(self, h: int)
setFixedSize(self, a0: QSize)
setFixedSize(self, w: int, h: int) → None
setFixedWidth(self, w: int)
setFocus(self)
setFocus(self, reason: Qt.FocusReason) → None
setFocusPolicy(self, policy: Qt.FocusPolicy)
setFocusProxy(self, a0: QWidget)
setFont(self, a0: QFont)
setForegroundRole(self, a0: QPalette.ColorRole)
setGeometry(self, a0: QRect)
setGeometry(self, ax: int, ay: int, aw: int, ah: int) → None
setGraphicsEffect(self, effect: QGraphicsEffect)
setHidden(self, hidden: bool)
setInputMethodHints(self, hints: Union[Qt.InputMethodHints, Qt.InputMethodHint])
setLayout(self, a0: QLayout)
setLayoutDirection(self, direction: Qt.LayoutDirection)
setLocale(self, locale: QLocale)
setMask(self, a0: QBitmap)
setMask(self, a0: QRegion) → None
setMaximumHeight(self, maxh: int)
setMaximumSize(self, maxw: int, maxh: int)
setMaximumSize(self, s: QSize) → None
setMaximumWidth(self, maxw: int)
setMinimumHeight(self, minh: int)
setMinimumSize(self, minw: int, minh: int)
setMinimumSize(self, s: QSize) → None
setMinimumWidth(self, minw: int)
setModal(self, modal: bool)
setMouseTracking(self, enable: bool)
setObjectName(self, name: str)
setPalette(self, a0: QPalette)
setParent(self, parent: QWidget)
setParent(self, parent: QWidget, f: Union[Qt.WindowFlags, Qt.WindowType]) → None
setProperty(self, name: str, value: Any) → bool
setResult(self, r: int)
setShortcutAutoRepeat(self, id: int, enabled: bool = True)
setShortcutEnabled(self, id: int, enabled: bool = True)
setSizeGripEnabled(self, a0: bool)
setSizeIncrement(self, w: int, h: int)
setSizeIncrement(self, s: QSize) → None
setSizePolicy(self, a0: QSizePolicy)
setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) → None
setStatusTip(self, a0: str)
setStyle(self, a0: QStyle)
setStyleSheet(self, styleSheet: str)
setTabOrder(a0: QWidget, a1: QWidget)
setTabletTracking(self, enable: bool)
setToolTip(self, a0: str)
setToolTipDuration(self, msec: int)
setUpdatesEnabled(self, enable: bool)
setVisible(self, visible: bool)
setWhatsThis(self, a0: str)
setWindowFilePath(self, filePath: str)
setWindowFlag(self, a0: Qt.WindowType, on: bool = True)
setWindowFlags(self, type: Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, icon: QIcon)
setWindowIconText(self, a0: str)
setWindowModality(self, windowModality: Qt.WindowModality)
setWindowModified(self, a0: bool)
setWindowOpacity(self, level: float)
setWindowRole(self, a0: str)
setWindowState(self, state: Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, a0: str)
set_active_tool(tool=None)

Set active tool (if tool argument is None, the active tool will be the default tool)

set_contrast_range(zmin, zmax)

Convenience function to set the contrast adjustment panel range

This is strictly equivalent to the following:

# Here, *widget* is for example a CurveWidget instance
# (the same apply for CurvePlot, ImageWidget, ImagePlot or any
#  class deriving from PlotManager)
widget.get_contrast_panel().set_range(zmin, zmax)
set_default_plot(plot)

Set default plot

The default plot is the plot on which tools and panels will act.

set_default_tool(tool)

Set default tool

set_default_toolbar(toolbar)

Set default toolbar

sharedPainter(self) → QPainter
show(self)
showEvent(self, a0: QShowEvent)
showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
stackUnder(self, a0: QWidget)
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
tabletEvent(self, a0: QTabletEvent)
testAttribute(self, attribute: Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, a0: QTimerEvent)
toolTip(self) → str
toolTipDuration(self) → int
tr(self, sourceText: str, disambiguation: Optional[str] = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, type: Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)
update(self, a0: QRect) → None
update(self, a0: QRegion) → None
update(self, ax: int, ay: int, aw: int, ah: int) → None
updateGeometry(self)
updateMicroFocus(self)
update_cross_sections()

Convenience function to update the cross section panels at once

This is strictly equivalent to the following:

# Here, *widget* is for example a CurveWidget instance
# (the same apply for CurvePlot, ImageWidget, ImagePlot or any
#  class deriving from PlotManager)
widget.get_xcs_panel().update_plot()
widget.get_ycs_panel().update_plot()
update_tools_status(plot=None)

Update tools for current plot

updatesEnabled(self) → bool
visibleRegion(self) → QRegion
whatsThis(self) → str
wheelEvent(self, a0: QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → PyQt5.sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconText(self) → str
windowModality(self) → Qt.WindowModality
windowOpacity(self) → float
windowRole(self) → str
windowState(self) → Qt.WindowStates
windowTitle(self) → str
windowType(self) → Qt.WindowType
x(self) → int
y(self) → int
class guiqwt.widgets.fit.FitParam(name, value, min, max, logscale=False, steps=5000, format='%.3f', size_offset=0, unit='')[source]
copy()[source]

Return a copy of this fitparam

class guiqwt.widgets.fit.AutoFitParam(title: str | None = None, comment: str | None = None, icon: str = '')[source]
accept(vis: object) → None

Helper function that passes the visitor to the accept methods of all the items in this dataset

Args:

vis (object): visitor object

check() → list[str]

Check the dataset item values

Returns:

list[str]: list of errors

classmethod create(**kwargs) → DataSet

Create a new instance of the DataSet class

Args:

**kwargs: keyword arguments to set the DataItem values

Returns:

DataSet instance

deserialize(reader: HDF5Reader | JSONReader | INIReader) → None

Deserialize the dataset

Args:

reader (HDF5Reader | JSONReader | INIReader): reader object

edit(parent: QWidget | None = None, apply: Callable | None = None, size: Any | None = None) → DataSetEditDialog

Open a dialog box to edit data set

Args:
parent (QWidget): parent widget (default is None,

meaning no parent)

apply (Callable): apply callback (default is None) size (QSize | tuple[int, int]): dialog size (QSize object

or integer tuple (width, height))

get_comment() → str | None

Return data set comment

Returns:

str | None: comment

get_icon() → str | None

Return data set icon

Returns:

str | None: icon

get_title() → str

Return data set title

Returns:

str: title

read_config(conf: UserConfig, section: str, option: str) → None

Read configuration from a UserConfig instance

Args:

conf (UserConfig): UserConfig instance section (str): section name option (str): option name

serialize(writer: HDF5Writer | JSONWriter | INIWriter) → None

Serialize the dataset

Args:

writer (HDF5Writer | JSONWriter | INIWriter): writer object

set_defaults() → None

Set default values

classmethod set_global_prop(realm: str, **kwargs) → None

Set global properties for all data items in the dataset

Args:

realm (str): realm name **kwargs (dict): properties to set

text_edit() → None

Edit data set with text input only

to_string(debug: bool | None = False, indent: str | None = None, align: bool | None = False, show_hidden: bool | None = True) → str

Return readable string representation of the data set If debug is True, add more details on data items

Args:

debug (bool): if True, add more details on data items indent (str): indentation string (default is None,

meaning no indentation)

align (bool): if True, align data items (default is False) show_hidden (bool): if True, show hidden data items

(default is True)

Returns:

str: string representation of the data set

view(parent: QWidget | None = None, size: Any | None = None) → None

Open a dialog box to view data set

Args:
parent (QWidget): parent widget (default is None,

meaning no parent)

size (QSize | tuple[int, int]): dialog size (QSize object

or integer tuple (width, height))

write_config(conf: UserConfig, section: str, option: str) → None

Write configuration to a UserConfig instance

Args:

conf (UserConfig): UserConfig instance section (str): section name option (str): option name