一旦进入python/Tkinter.mainloop(),将TkinterGUI输入基于鼠标单击事件,而不是MATLAB/pyplot.ginput()
没有一个严肃的控制系统(Tkinter .mainloop()是一个相当严重的系统)喜欢把它的控制权交给任何其他竞争(=阻塞)子系统。在
经测试可用于:class App( Frame ): # The user interface:
def __init__( self, master = None ):
Frame.__init__( self, master )
self.fig = Figure( ( 6, 6 ), dpi = 100 )
canvas = FigureCanvasTkAgg( self.fig, master = self )
# -# cover Tk.root
self.bind( "", # Tk Event type
self.showXY_handler # handler 2 call
)
#
canvas.get_tk_widget().grid( row = 0, # this adds a plot
column = 0, # on Tk.root .grid()
columnspan = 4 # geometry manager
)
# -cover graph area
canvas.get_tk_widget().bind( "",
self.showXY_handler
)
# -
#FINALLY THE INTERFACE TO A DEMO-HANDLER METHOD:
def showXY_handler( self, aHandledEVENT ):
print aHandledEVENT.x, aHandledEVENT.y
您也可以使用类实例变量而不是global-s
^{pr2}$