8000 Merge pull request #2382 from tacaswell/new_stlye_qt · matplotlib/matplotlib@b4c9ced · GitHub
[go: up one dir, main page]

Skip to content

Commit b4c9ced

Browse files
committed
Merge pull request #2382 from tacaswell/new_stlye_qt
New stlye qt calls
2 parents da6c6b5 + df3d882 commit b4c9ced

File tree

3 files changed

+78
-89
lines changed

3 files changed

+78
-89
lines changed

examples/user_interfaces/embedding_in_qt4.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
# may be distributed without limitation.
1111

1212
from __future__ import unicode_literals
13-
import sys, os, random
13+
import sys
14+
import os
15+
import random
1416
from matplotlib.backends import qt4_compat
1517
use_pyside = qt4_compat.QT_API == qt4_compat.QT_API_PYSIDE
1618
if use_pyside:
@@ -62,18 +64,15 @@ class MyDynamicMplCanvas(MyMplCanvas):
6264
def __init__(self, *args, **kwargs):
6365
MyMplCanvas.__init__(self, *args, **kwargs)
6466
timer = QtCore.QTimer(self)
65-
if use_pyside:
66-
timer.timeout.connect(self.update_figure)
67-
else:
68-
QtCore.QObject.connect(timer, QtCore.SIGNAL("timeout()"), self.update_figure)
67+
timer.timeout.connect(self.update_figure)
6968
timer.start(1000)
7069

7170
def compute_initial_figure(self):
72-
self.axes.plot([0, 1, 2, 3], [1, 2, 0, 4], 'r')
71+
self.axes.plot([0, 1, 2, 3], [1, 2, 0, 4], 'r')
7372

7473
def update_figure(self):
7574
# Build a list of 4 random integers between 0 and 10 (both inclusive)
76-
l = [ random.randint(0, 10) for i in range(4) ]
75+
l = [random.randint(0, 10) for i in range(4)]
7776

7877
self.axes.plot([0, 1, 2, 3], l, 'r')
7978
self.draw()

lib/matplotlib/backends/backend_qt4.py

Lines changed: 26 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,8 @@ def _create_qApp():
8282
if display is None or not re.search(':\d', display):
8383
raise RuntimeError('Invalid DISPLAY variable')
8484

85-
qApp = QtGui.QApplication([" "])
86-
QtCore.QObject.connect(qApp, QtCore.SIGNAL("lastWindowClosed()"),
87-
qApp, QtCore.SLOT("quit()"))
85+
qApp = QtGui.QApplication([str(" ")])
86+
qApp.lastWindowClosed.connect(qApp.quit)
8887
else:
8988
qApp = app
9089

@@ -134,17 +133,15 @@ def __init__(self, *args, **kwargs):
134133
# Create a new timer and connect the timeout() signal to the
135134
# _on_timer method.
136135
self._timer = QtCore.QTimer()
137-
QtCore.QObject.connect(self._timer, QtCore.SIGNAL('timeout()'),
138-
self._on_timer)
136+
self._timer.timeout.connect(self._on_timer)
139137
self._timer_set_interval()
140138

141139
def __del__(self):
142140
# Probably not necessary in practice, but is good behavior to
143141
# disconnect
144142
try:
145143
TimerBase.__del__(self)
146-
QtCore.QObject.disconnect(self._timer,
147-
QtCore.SIGNAL('timeout()'), self._on_timer)
144+
self._timer.timeout.disconnect(self._on_timer)
148145
except RuntimeError:
149146
# Timer C++ object already deleted
150147
pass
@@ -423,8 +420,10 @@ def idle_draw(*args):
423420

424421

425422
class MainWindow(QtGui.QMainWindow):
423+
closing = QtCore.Signal()
424+
426425
def closeEvent(self, event):
427-
self.emit(QtCore.SIGNAL('closing()'))
426+
self.closing.emit()
428427
QtGui.QMainWindow.closeEvent(self, event)
429428

430429

@@ -444,10 +443,8 @@ def __init__(self, canvas, num):
444443
FigureManagerBase.__init__(self, canvas, num)
445444
self.canvas = canvas
446445
self.window = MainWindow()
447-
self.window.connect(self.window, QtCore.SIGNAL('closing()'),
448-
canvas.close_event)
449-
self.window.connect(self.window, QtCore.SIGNAL('closing()'),
450-
self._widgetclosed)
446+
self.window.closing.connect(canvas.close_event)
447+
self.window.closing.connect(self._widgetclosed)
451448

452449
self.window.setWindowTitle("Figure %d" % num)
453450
image = os.path.join(matplotlib.rcParams['datapath'],
@@ -469,8 +466,7 @@ def __init__(self, canvas, num):
469466
self.toolbar = self._get_toolbar(self.canvas, self.window)
470467
if self.toolbar is not None:
471468
self.window.addToolBar(self.toolbar)
472-
QtCore.QObject.connect(self.toolbar, QtCore.SIGNAL("message"),
473-
self._show_message)
469+
self.toolbar.message.connect(self._show_message)
474470
tbs_height = self.toolbar.sizeHint().height()
475471
else:
476472
tbs_height = 0
@@ -540,8 +536,8 @@ def destroy(self, *args):
540536
if self.window._destroying:
541537
return
542538
self.window._destroying = True
543-
QtCore.QObject.disconnect(self.window, QtCore.SIGNAL('destroyed()'),
544-
self._widgetclosed)
539+
self.window.destroyed.connect(self._widgetclosed)
540+
545541
if self.toolbar:
546542
self.toolbar.destroy()
547543
if DEBUG:
@@ -556,6 +552,8 @@ def set_window_title(self, title):
556552

557553

558554
class NavigationToolbar2QT(NavigationToolbar2, QtGui.QToolBar):
555+
message = QtCore.Signal(str)
556+
559557
def __init__(self, canvas, parent, coordinates=True):
560558
""" coordinates: should we show the coordinates on the right? """
561559
self.canvas = canvas
@@ -656,7 +654,7 @@ def dynamic_update(self):
656654
self.canvas.draw()
657655

658656
def set_message(self, s):
659-
self.emit(QtCore.SIGNAL("message"), s)
657+
self.message.emit(s)
660658
if self.coordinates:
661659
self.locLabel.setText(s.replace(', ', '\n'))
662660

@@ -746,18 +744,10 @@ def __init__(self, targetfig, parent):
746744
self.sliderhspace = QtGui.QSlider(QtCore.Qt.Vertical)
747745

748746
10000 # constraints
749-
QtCore.QObject.connect(self.sliderleft,
750-
QtCore.SIGNAL("valueChanged(int)"),
751-
self.sliderright.setMinimum)
752-
QtCore.QObject.connect(self.sliderright,
753-
QtCore.SIGNAL("valueChanged(int)"),
754-
self.sliderleft.setMaximum)
755-
QtCore.QObject.connect(self.sliderbottom,
756-
QtCore.SIGNAL("valueChanged(int)"),
757-
self.slidertop.setMinimum)
758-
QtCore.QObject.connect(self.slidertop,
759-
QtCore.SIGNAL("valueChanged(int)"),
760-
self.sliderbottom.setMaximum)
747+
self.sliderleft.valueChanged.connect(self.sliderright.setMinimum)
748+
self.sliderright.valueChanged.connect(self.sliderleft.setMaximum)
749+
self.sliderbottom.valueChanged.connect(self.slidertop.setMinimum)
750+
self.slidertop.valueChanged.connect(self.sliderbottom.setMaximum)
761751

762752
sliders = (self.sliderleft, self.sliderbottom, self.sliderright,
763753
self.slidertop, self.sliderwspace, self.sliderhspace,)
@@ -781,7 +771,7 @@ def __init__(self, targetfig, parent):
781771
layout.setAlignment(self.slidertop, QtCore.Qt.AlignHCenter)
782772

783773
bottomlabel = QtGui.QLabel('bottom') # this might not ever be used
784-
layout.addWidget(QtGui.QLabel('bottom'), 4, 2)
774+
layout.addWidget(bottomlabel, 4, 2)
785775
layout.addWidget(self.sliderbottom, 3, 2)
786776
layout.setAlignment(self.sliderbottom, QtCore.Qt.AlignHCenter)
787777

@@ -820,24 +810,12 @@ def __init__(self, targetfig, parent):
820810
self.sliderhspace.setSliderPosition(
821811
int(targetfig.subplotpars.hspace*1000))
822812

823-
QtCore.QObject.connect(self.sliderleft,
824-
QtCore.SIGNAL("valueChanged(int)"),
825-
self.funcleft)
826-
QtCore.QObject.connect(self.sliderbottom,
827-
QtCore.SIGNAL("valueChanged(int)"),
828-
self.funcbottom)
829-
QtCore.QObject.connect(self.sliderright,
830-
QtCore.SIGNAL("valueChanged(int)"),
831-
self.funcright)
832-
QtCore.QObject.connect(self.slidertop,
833-
QtCore.SIGNAL("valueChanged(int)"),
834-
self.functop)
835-
QtCore.QObject.connect(self.sliderwspace,
836-
QtCore.SIGNAL("valueChanged(int)"),
837-
self.funcwspace)
838-
QtCore.QObject.connect(self.sliderhspace,
839-
QtCore.SIGNAL("valueChanged(int)"),
840-
self.funchspace)
813+
self.sliderleft.valueChanged.connect(self.funcleft)
814+
self.sliderbottom.valueChanged.connect(self.funcbottom)
815+
self.sliderright.valueChanged.connect(self.funcright)
816+
self.slidertop.valueChanged.connect(self.functop)
817+
self.sliderwspace.valueChanged.connect(self.funcwspace)
818+
self.sliderhspace.valueChanged.connect(self.funchspace)
841819

842820
def funcleft(self, val):
843821
if val == self.sliderright.value():

0 commit comments

Comments
 (0)
0