我正在尝试构建一个帧网格,每个都有一个matplotlib图。 当我调整窗口大小时,图形保持固定大小,并且不会调整大小以适应空白区域。 有没有办法让图形根据画布改变它的大小(希望它随窗口大小而改变)?
这是我在每个帧中嵌入的方式:
self._figure = pyplot.figure(figsize=(4,4))
self._axes = self._figure.add_subplot(111)
self._canvas = FigureCanvasTkAgg(self._figure, master=self._root)
self._canvas.get_tk_widget().grid(row=1,column=1,rowspan = 4)
答案 0 :(得分:0)
这很可能与this question有关。要点是使Tk网格单元生长有两个部分:
sticky
应用于您的窗口小部件时使用grid
关键字,例如widget.grid(..., sticky=Tkinter.NSEW
(Python 2.7),以使widget
能够在所有四个方向上增长。见this documentation for more details。parent.grid_columnconfigure(...)
和/或parent.grid_rowconfigure(...)
所需的行,列和{{},告诉父/主在调整大小时使相应的列/行增长1}}关键字。例如,weight
使第一列占用所有可用空间(只要没有其他列,或者它们没有相似的配置)。有关详细信息,请参阅the grid_columnconfigure documentation和the grid_rowconfigure documentation,例如,权重如何影响多个列/行。This page包含有关网格布局的更多详细信息。