2016-10-10 133 views
1

我一直在開發一個tkinter應用程序,它內嵌了一個matplotlib圖形。我現在我遇到的問題是:Python - Tkinter中的Matplotlib:工具欄平移和縮放並不會改變光標

Allthough工具欄的功能是否正常工作,它不改變光標,這使得一個更糟糕的用戶體驗,因爲你不能告訴你,如果被放大與否。 從我從各種文檔和在線教程中看到的這不應該是一個問題。

從我讀,工具欄應該甚至使變化的鼠標更難,因爲它覆蓋選擇平移或縮放時,光標所有的時間。我發佈了我的代碼的相關部分,請告訴我,如果您看到不合計的東西,或者我可能丟失的任何東西。

任何建議都非常appriciated!

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg 

class Controller(tk.Tk): 
    self.canvass = FigureCanvasTkAgg(self.plots, self) 
    self.canvass.show() 
    self.canvass.get_tk_widget().grid(row=1, column=0, sticky="news") 

    self.toolbar_frame = tk.Frame(self, width=410, height=30) 
    self.toolbar_frame.config(relief="sunken", borderwidth=1) 
    self.toolbar_frame.pack_propagate(flag=False) 
    self.toolbar_frame.grid(column=0, row=3, sticky="w") 

    self.toolbar = NavigationToolbar2TkAgg(self.canvass, self.toolbar_frame) 
    self.toolbar.pack() 
    self.toolbar.update() 

原來把工具欄變成幀使那怪異的行爲。我只是在tkinter嵌入中使用了一個簡單的'matplotlib',它正在工作並修改它以像我在代碼中那樣使用一個框架,並且發現了同樣的問題。

我需要的框架,因爲通常工具欄使用包,我不想改變整個佈局,僅僅因爲這一點,因爲我一直使用網格。

回答

1

嗯,我也遇到同樣的問題太多,而且奇怪的是,這是由帆布和不具有相同的主工具欄引起的。只需製作一個新框架並將畫布和工具欄放在其中即可解決問題。您仍然可以將該框架與網格放置在您的佈局中。