If you use the "save" button on Qt after the save the window is blank until a redraw is forced (resize the window, pan/zoom by guessing where the axes were, etc).
Code for reproduction
importmatplotlibimportmatplotlib.pyplotaspltmatplotlib.use('qtagg')
plt.plot(range(5))
plt.show()
# click the save button
Actual outcome
Expected outcome
Additional information
see it with both blocking and non-blocking show()
do not see it with tk (did not test other GUI frameworks)
I think this is a blocker for 3.8 as Qt is the backend a lot of people end up using (because it is the first in our list and conda install pyqt as a Matplotlib dependency)
Operating system
Arch
Matplotlib Version
3.8.0.dev1477+gb274f78060 (~main)
Matplotlib Backend
QtAgg (with pyqt6)
Python version
Python 3.13.0a0 (it is actually a branch from a PR)
I reproduced on my work machine (RHEL7) but cannot reproduce on my Ubuntu laptop with either pyqt 5 or 6. I think @ksunden mentioned somewhere that he uses something related to Ubuntu?
Activity
ksunden commented on Jul 6, 2023
I do not seem to be able to reproduce in my main dev environment (python 3.11)
rcomer commented on Jul 6, 2023
I did reproduce using my mpl-dev environment (made using the conda yml).
Edit: for me it took ~1 second after I closed the save dialog box before it went blank.
oscargus commented on Jul 8, 2023
Can reproduce on Win 11, Python 3.9 and Qt6.
rcomer commented on Jul 8, 2023
I reproduced on my work machine (RHEL7) but cannot reproduce on my Ubuntu laptop with either pyqt 5 or 6. I think @ksunden mentioned somewhere that he uses something related to Ubuntu?
jklymak commented on Jul 9, 2023
I can reproduce on my Mac dev environment if that helps
QuLogic commented on Jul 14, 2023
Bisect points to #25713, so I'll do some investigation.
qt: Mark canvas for re-draw after savefig
qt: Mark canvas for re-draw after savefig