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:
QDialogDialog 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:
DataSetEditDialogRead-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:
DataSetEditDialogTabbed 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:
DataSetEditLayoutRead-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