5

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)
4

1 に答える 1

1

これは、この質問に関連している可能性が最も高いです。要点は、Tk グリッド セルを成長させるには 2 つの部分があるということです。

  • (Python 2.7)など、ウィジェットstickyに適用するときにキーワードを使用して、4 つの方向すべてに成長できるようにします。詳細については、このドキュメントを参照してくださいgridwidget.grid(..., sticky=Tkinter.NSEWwidget
  • /マスターに、目的の行、列、およびキーワードを呼び出しparent.grid_columnconfigure(...)て、および/または使用してサイズ変更するときに、それぞれの列/行を大きくするように指示します。たとえば、最初の列が使用可能なすべてのスペースを占めるようにします (他の列がないか、同様に構成されていない限り)。重みが複数の列/行にどのように影響するかなどの詳細については、grid_columnconfigure のドキュメントgrid_rowconfigure のドキュメントを参照してください。parent.grid_rowconfigure(...)weightparent.grid_columnconfigure(col=0, weight=1)

このページには、グリッド レイアウトに関する詳細が多数含まれています。

于 2014-12-02T12:40:58.777 に答える