为了账号安全,请及时绑定邮箱和手机立即绑定

Tkinter 画布 (FigureCanvasTkAgg) bbox 给出 None

Tkinter 画布 (FigureCanvasTkAgg) bbox 给出 None

墨色风雨 2023-01-04 16:46:33
遇到奇怪的问题: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”被画布视为一种特殊情况,以表示画布上的所有对象。


查看完整回答
反对 回复 2023-01-04
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信