遇到奇怪的問題:canvas.bbox('ALL')給None。所以主題說只有在代碼中canvas有一些方法時才會給出坐標。.create_xxx()問題是該類FigureCanvasTkAgg在其__init__方法中使用create_image方法,我認為在我的小片段中,當我創建 thic 類的實例時,它應該在調用instance.bbox命令時給我一些坐標框。但它不是...self.Frame = Frame(root, bg = 'white')self.Frame.place (relx = 0.37 , rely = 0.05 , relheight = 0.85 , relwidth = 0.51)self.canvas = FigureCanvasTkAgg ( fig , master = self.Frame) # A tk.DrawingArea.self.canvas.get_tk_widget ().place ( relx = 0 , rely = 0)self.canvas.get_tk_widget ().config ( yscrollcommand = self.vbar.set , scrollregion = (0,0,w,639*h/10 ))self.canvas.get_tk_widget ().update_idletasks ()print(self.canvas.get_tk_widget ().winfo_width(),self.canvas.get_tk_widget ().winfo_height() )self.Frame.update_idletasks ()print(self.canvas.get_tk_widget ().bbox('ALL'))self.toolbar = NavigationToolbar2Tk ( self.canvas , self.Frame )self.vbar.pack ( side = RIGHT , fill = Y)
1 回答

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
遇到奇怪的問題:canvas.bbox('ALL') 給出 None。
當您使用'ALL'
時,它正在尋找所有帶有標簽的畫布對象,但'ALL'
沒有找到任何對象。
如果您想要所有對象的邊界框,則正確的參數bbox
是'all'
,而不是'ALL'
。文字字符串“all”被畫布視為一種特殊情況,以表示畫布上的所有對象。
添加回答
舉報
0/150
提交
取消