2017-08-15 90 views
1

所以我正在重新制作一個用python進行圖形用戶界面的數據分析,以前是在Matlab中完成的。我需要的一個功能是能夠查看特定的數據圖並選擇該圖的哪個部分是背景。我正在使用matplotlib來進行繪圖,並且我正在嘗試使用鼠標和鍵盤事件來處理此功能。Matplotlib嵌套事件

那麼我的問題是,如何通過使用擊鍵事件來指示程序尋找鼠標輸入,從而「激活」一個事件,在我的情況下使用鼠標來選擇背景數據。

繪製出我想什麼:

按「Ctrl + B」進入後臺選擇模式 然後: 點擊一次再次搶左端的X數據 點擊搶最右邊的X數據 無效點擊輸入

有什麼建議嗎?

僅供參考,這裏有一點我的嘗試; 「ctrl + b」部分工作,然後在第一次點擊後凍結。

def background(event): 
    print('button=%s, x=%d, y=%d, xdata=%f, ydata=%f' % (event.key, event.x, event.y, event.xdata, event.ydata)) 
    if event.key == "ctrl+b": 
     print("You clicked ctrl+b") 
     xbounds = [] 
     while len(xbounds) < 2: 
      cid = fig.canvas.mpl_connect('button_press_event', onclick) 

def onclick(event): 
    xbounds.append(event.x) 

回答

0

糟糕,自己想清楚了...... while語句無限期運行並導致python崩潰。切換時如果解決了問題。