Releases: pyapp-kit/magicgui
v0.2.9
v0.2.9 is a minor feature & bugfix release.
The most noticeable new feature is that Slider
widgets now show their current value with an (editable) spinbox (#211). To hide the readout widget on a Slider, use readout=False
. The Table
widget has also been given a .changed
event emitter that will emit a dict of information about the cell being edited (#209)
This release also fixes a couple event issues with FileDialogs, and some layout issues with RadioButtons.
v0.2.8
v0.2.8 is a minor feature & bugfix release including:
- a new
widgets.RadioButtons
widget. Uses the same "CategoricalWidget
" API asComboBox
, but presents options as a group of RadioButtons. - fixes some issues with event emission in FileEdit dialogs
- undoes a bug introduced by changing the text in the call button while the function is running.
v0.2.7
v0.2.7 is a minor feature & bugfix release including:
- parameter value persistence: use
@magicgui(persist=True)
to store the values in the GUI to disk when they are changed, and restore them when the GUI is recreated in a future session (#160). - a preliminary Image widget
magicgui.widgets.Image
. Requirespip install magicgui[image]
to work (#140) - adds a
widget_init
parameter tomagic_factory
... useful for connecting events and such after a factory creates a new widget instance (#159). - fixes a bug when a parameter-less function is used with
call_button=True
(#149) - fixes
FileEdit
used with directory mode - fixes a bug in Range/SliceEdits
v0.2.6
v0.2.6 is a significant feature release, introducing a number of new widgets and APIs:
- New
Table
Widget allowing easy creation and modification of Table UIs using a variety of pure python types as input (#61) - Tooltips for each widget in a
@magicgui
are now automatically taken from docstrings (numpy, google, and sphinx-rst format accepted)(#100) - New
ProgressBar
widget (#104) andmagicgui.tqdm
wrapper (#105) allow both manual and automatically-added progress bars to long-running iterator-based functions.magicgui.tqdm.tqdm
acts as a drop-in replacement fortqdm.tqdm
that will fall back to the standard (console output) behavior if used outside of a magicgui function, or inside of a magicgui widget that is not yet visible. - New
MainWindow/MainFunctionGui
subclasses allow creating top level "application" windows, with a basic API for adding items to the application menubar (#110). - The new
@magic_factory
decorator creates a callable that, when called, returns aFunctionGui
instance (as opposed to@magicgui
which immediately creates theFunctionGui
instance). Think of this as returning a "class" as opposed to returning an "instance":@magic_factory(call_button=True) def my_factory(x: int, y = 'hi'): ... # can add to or override original factory arguments widget = my_factory(main_window=True) widget.show()
- "vertical" is now the default layout for
Containers
and magicgui widgets.
v0.2.5
v0.2.5 greatly improves support for binding a value or a callback to a function parameter, and fixes a bug in recursively updating categorical widgets nested deeply inside of a container.
v0.2.3
v0.2.3 adds two new widgets DateEdit and TimeEdit (for datetime.date
and datetime.time
types respectively), in addition to the existing DateTimeEdit widget. It also continues to improve warnings and deprecation messages from the v0.2.0 release.
v0.2.2
hotfix release to prevent exception in bundled app
v0.2.1
v0.2.1 fixes some issues with the 0.2.0 release. ForwardRef annotations are now resolved automatically on both parameter and return type annotations. And the orientation parameter on Container widgets (such as those returned by the magicgui decorator) has been renamed back to layout as in <v0.2.0. Test coverage is also improved.
v0.2.0
v0.2.0 includes a complete rewrite of magicgui. The primary goals were as follows:
- make a clean separation between the Qt backend and the end-use API, clarifying the interface that a backend must implement in order to work with magicgui
- create a "direct API" that enables procedural widget creation, with the potential for subclassing and custom widget creation
- create a more direct link between an individual widget and an
inspect.Parameter
object, and a collection or layout of widgets and aninspect.Signature
object.
See PR #43 for full details of the rewrite.
Deprecations and possible breaking changes!
Some of the API has been deprecated or changed, though an attempt was made to make the pre-0.2.0 API still work (with warnings). Please see the v0.2.0 migration guide for details.
Lastly, we have new documentation, using the amazing jupyter-book project! Note the new url at https://napari.org/magicgui