"Import" and "Export" buttons in Object List widget do not work correctly.
Describe the bug "Import" and "Export" buttons in Object List widget do not work correctly.
To Reproduce Steps to reproduce the behavior:
- Open napari, some example data (cells3d), and the ndannotator plugin "Object List" widget (Plugins > napari-nd-annotator > Object List)
- Create some objects and interpolate between the slices
- Click the "Export" button in the "Object List" widget
- Observe a file dialog widget flash up on the screen very briefly before disappearing. This error is also displayed in the terminal:
Traceback (most recent call last):
File "/Users/genevieb/mambaforge/envs/test-ndannotator/lib/python3.9/site-packages/napari_nd_annotator/_widgets/object_list.py", line 616, in export_bounding_boxes
with open(filename, "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: ''
If you suspect this is an IPython 8.4.0 bug, please report it at:
https://github.com/ipython/ipython/issues
or send an email to the mailing list at [email protected]
You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.
Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
%config Application.verbose_crash=True
Expected behavior I expected the file dialog would stay open long enough for me to choose an output filename, and then some output data would be written to disk.
napari info napari: 0.4.15 Platform: macOS-12.3.1-arm64-arm-64bit System: MacOS 12.3.1 Python: 3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:00:33) [Clang 13.0.1 ] Qt: 5.15.4 PyQt5: 5.15.7 NumPy: 1.23.1 SciPy: 1.9.0 Dask: 2022.8.0 VisPy: 0.9.6
OpenGL:
- GL version: 2.1 Metal - 76.3
- MAX_TEXTURE_SIZE: 16384
Screens:
- screen 1: resolution 1440x900, scale 2.0
- screen 2: resolution 3440x1440, scale 1.0
Plugins:
- console: 0.0.4
- scikit-image: 0.4.15
- svg: 0.1.6
Other packages Not applicable. A new conda environment was created for this bug report, like so
conda create -n test-ndannotator python=3.9 pip ipython
conda activate test-ndannotator
conda install napari
python -m pip install napari-nD-annotator
Additional context Add any other context about the problem here.
I guess this is a problem related to OS, as it works for me on Windows (did not check Linux and MacOS). Would you mind trying this (found here):
from PyQt5.Qt import QApplication, QFileDialog
app = QApplication([])
opts = QFileDialog.Option()
#opts |= QFileDialog.DontUseNativeDialog
fs = QFileDialog.getOpenFileNames(None, "title", "/", "ftext", "", opts)
If this crashes, try uncommenting the opts |= QFileDialog.DontUseNativeDialog line.