Qt widgets for data sets¶
Dialog boxes for DataSet editing and showing¶
- class guidata.dataset.qtwidgets.DataSetEditDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | tuple[int, int] | None = None)¶
Bases:
QDialog
Dialog box for DataSet editing
- Parameters:
instance – DataSet instance to edit
icon – icon name (default: “guidata.svg”)
parent – parent widget
apply – function called when Apply button is clicked
wordwrap – if True, comment text is wordwrapped
size – dialog size (default: None)
- button_clicked(button: QAbstractButton) None ¶
Handle button click
- Parameters:
button – button that was clicked
- setup_instance(instance: Any) None ¶
Construct main layout
- Parameters:
instance – DataSet instance to edit
- layout_factory(instance: DataSet, grid: QGridLayout) DataSetEditLayout ¶
A factory method that produces instances of DataSetEditLayout or derived classes (see DataSetShowDialog)
- Parameters:
instance – DataSet instance to edit
grid – grid layout
- Returns:
DataSetEditLayout instance
- class guidata.dataset.qtwidgets.DataSetShowDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | tuple[int, int] | None = None)¶
Bases:
DataSetEditDialog
Read-only dialog box
- Parameters:
instance – DataSet instance to edit
icon – icon name (default: “guidata.svg”)
parent – parent widget
apply – function called when Apply button is clicked
wordwrap – if True, comment text is wordwrapped
size – dialog size (default: None)
- layout_factory(instance: DataSet, grid: QGridLayout) DataSetShowLayout ¶
A factory method that produces instances of DataSetEditLayout or derived classes (see DataSetShowDialog)
- Parameters:
instance – DataSet instance to edit
grid – grid layout
- Returns:
DataSetEditLayout instance
- class guidata.dataset.qtwidgets.DataSetGroupEditDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | tuple[int, int] | None = None)¶
Bases:
DataSetEditDialog
Tabbed dialog box for DataSet editing
- Parameters:
instance – DataSetGroup instance to edit
icon – icon name (default: “guidata.svg”)
parent – parent widget
apply – function called when Apply button is clicked
wordwrap – if True, comment text is wordwrapped
size – dialog size (default: None)
- setup_instance(instance: DataSetGroup) None ¶
Construct main layout
- Parameters:
instance – DataSetGroup instance to edit
Layouts for DataSet editing and showing¶
- class guidata.dataset.qtwidgets.DataSetEditLayout(parent: QWidget | None, instance: AnyDataSet, layout: QGridLayout, items: list[DataItem] | None = None, first_line: int = 0, change_callback: Callable | None = None)¶
Bases:
Generic
[AnyDataSet
]Layout in which data item widgets are placed
- Parameters:
parent – parent widget
instance – DataSet instance to edit
layout – grid layout
items – list of data items
first_line – first line of grid layout
change_callback – function called when any widget’s value has changed
- classmethod register(item_type: type, factory: Any) None ¶
Register a factory for a new item_type
- Parameters:
item_type – item type
factory – factory function
- transform_items(items: list[DataItem]) list[DataItem] ¶
Handle group of items: transform items into a GroupItem instance if they are located between BeginGroup and EndGroup
- Parameters:
items – list of data items
- Returns:
list of data items
- setup_layout(items: list[DataItem]) None ¶
Place items on layout
- Parameters:
items – list of data items
- build_widget(item: DataItem) DataSetShowWidget ¶
Build widget for item
- Parameters:
item – data item
- Returns:
widget
- class guidata.dataset.qtwidgets.DataSetShowLayout(parent: QWidget | None, instance: AnyDataSet, layout: QGridLayout, items: list[DataItem] | None = None, first_line: int = 0, change_callback: Callable | None = None)¶
Bases:
DataSetEditLayout
Read-only layout
- Parameters:
parent – parent widget
instance – DataSet instance to edit
layout – grid layout
items – list of data items
first_line – first line of grid layout
change_callback – function called when any widget’s value has changed