3 from __future__ import with_statement
4 from __future__ import division
10 DISCONNECT_ON_DELETE = False
13 import PySide.QtCore as QtCore
14 import PySide.QtGui as QtGui
16 import PyQt4.QtCore as QtCore
17 import PyQt4.QtGui as QtGui
20 _moduleLogger = logging.getLogger(__name__)
23 class Signaller(QtCore.QObject):
29 s1 = QtCore.pyqtSignal()
30 s2 = QtCore.pyqtSignal()
35 def __init__(self, s):
36 self._window = QtGui.QMainWindow()
37 self._window.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
38 self._window.setWindowTitle("Demo!")
39 if DISCONNECT_ON_DELETE:
40 self._window.destroyed.connect(self._on_destroyed)
43 self._s.s1.connect(self._on_signal)
44 self._s.s2.connect(self._on_signal)
51 self._window.setWindowTitle("Signaled!")
53 def _on_destroyed(self, obj = None):
54 print "Main window destroyed"
55 self._s.s1.disconnect(self._on_signal)
56 self._s.s2.disconnect(self._on_signal)
59 if __name__ == "__main__":
60 app = QtGui.QApplication([])