gpt4 book ai didi

python - 如何制作matplotlib :pyplot resizeable with the Tkinter window in Python?

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:22 24 4
gpt4 key购买 nike

我正在尝试在每个有一个 matplotlib 图的框架中构建一个框架网格。当我调整窗口大小时,图形保持固定大小,不会调整大小以适应空白空间。有没有办法让图形根据 Canvas 改变其大小(希望它确实随着窗口大小而改变)?

before expanding the window after expanding the window

这是我在每一帧中嵌入的方式:

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)

最佳答案

这很可能与 this question 有关.要点是让 Tk 网格单元增长有两个部分:

  • 在将 grid 应用到您的小部件时使用 sticky 关键字,例如,widget.grid(..., sticky=Tkinter.NSEW (Python 2.7) 使 widget 能够在所有四个方向上增长。参见 this documentation for more details
  • 通过调用 parent.grid_columnconfigure(...) 和/或 parent 告诉 parent/master 在调整大小时使相应的列/行增长。 grid_rowconfigure(...) 带有所需的行、列和 weight 关键字。例如,parent.grid_columnconfigure(col=0, weight=1) 使第一列占用所有可用空间(只要没有其他列,或者它们没有进行类似配置)。参见 the grid_columnconfigure documentationthe grid_rowconfigure documentation了解更多详情,例如,关于权重如何影响多列/多行。

This page包含有关网格布局的更多详细信息。

关于python - 如何制作matplotlib :pyplot resizeable with the Tkinter window in Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com