Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 45d81f9

Browse files
committed
Merge branch 'bugfix/qt4_savefile' into v1.0.x
2 parents 3df2758 + 3e72a5f commit 45d81f9

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

lib/matplotlib/backends/backend_qt4.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,22 @@
2222
except ImportError:
2323
raise ImportError("Qt4 backend requires that PyQt4 is installed.")
2424

25+
import sip
26+
27+
try :
28+
if sip.getapi("QString") > 1 :
29+
# Use new getSaveFileNameAndFilter()
30+
_getSaveFileName = lambda self, msg, start, filters, selectedFilter : \
31+
QtGui.QFileDialog.getSaveFileNameAndFilter(self, \
32+
msg, start, filters, selectedFilter)[0]
33+
else :
34+
# Use old getSaveFileName()
35+
_getSaveFileName = QtGui.QFileDialog.getSaveFileName
36+
except (AttributeError, KeyError) :
37+
# call to getapi() can fail in older versions of sip
38+
# Use the old getSaveFileName()
39+
_getSaveFileName = QtGui.QFileDialog.getSaveFileName
40+
2541
backend_version = "0.9.1"
2642
def fn_name(): return sys._getframe(1).f_code.co_name
2743

@@ -524,8 +540,8 @@ def save_figure(self, *args):
524540
filters.append(filter)
525541
filters = ';;'.join(filters)
526542

527-
fname = QtGui.QFileDialog.getSaveFileName(
528-
self, "Choose a filename to save to", start, filters, selectedFilter)
543+
fname = _getSaveFileName(self, "Choose a filename to save to",
544+
start, filters, selectedFilter)
529545
if fname:
530546
try:
531547
self.canvas.print_figure( unicode(fname) )

0 commit comments

Comments
 (0)