"Import" and "Export" buttons in Object List widget do not work correctly.
Opened this issue · 1 comments
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 ipython-dev@python.org
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.