Ich versuche mir zur Zeit im Selbststudium etwas Python und PyQt beizubringen, bisher noch mit mässigem Erfolg - hoffentlich könnt ihr mir hier etwas weiterhelfen

Folgendes Problem: Ich möchte in einem Qt-Dialog ein matplot einfügen und dann die Cursorkoordinaten auslesen, wenn ich drauf klicke.
Online habe ich folgenden Code-Teil gefunden, der auch funktioniert:
Code: Alles auswählen
class Cursor:
def __init__(self, ax):
self.ax = ax
def mouse_click (self, event):
print "Click, x="+str(event.xdata)
t = arange(0.0, 1.0, 0.01)
s = sin(2*2*pi*t)
ax1 = subplot(111)
ax1.plot(t,s,'o')
cursor = Cursor(subplot(111))
connect('button_release_event', cursor.mouse_click)
show()
Doch: Ich möchte nun den Plot in ein bestehendes Fenster integrieren. So sieht mein Versuch aus:
Code: Alles auswählen
class CursorTest3(QtGui.QDialog):
def __init__(self, parent=None):
super(CursorTest3, self).__init__(parent)
self.ui=Ui_CursorTest3()
self.ui.setupUi(self)
t = arange(0.0, 1.0, 0.01)
s = sin(2*2*pi*t)
ax = self.ui.plotSingle.canvas.ax
ax.plot(t, s, 'o')
cursor = Cursor(ax)
connect('button_release_event', cursor.mouse_click)
class Cursor:
def __init__(self, ax):
self.ax = ax
def mouse_click (self, event):
print "Click, x="+str(event.xdata)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
b = CursorTest3()
b.show()
sys.exit(app.exec_())
Soviel ich herausgefunden habe, liegt es daran, dass beim ersten Code-Segment die Ausführung "pausiert" wird beim show(), beim zweiten Code nicht mehr. Kann mir jemand sagen, was ich machen muss, dass auch beim zweiten Code eine Konsolenausgabe mit den Koordinaten erscheint?
Schon jetzt herzlichen Dank!