Tkinter 8.5参考マニュアル:a GUI for Python(四)

6671 ワード

4.2. その他grid管理方法
gridに関連するこれらのメソッドは、すべてのコンポーネントで定義されます.w .grid_bbox(column=None, row=None, col2=None, row2=None)
コンポーネントw のgridシステムの または の を する4 の を す. の2つの は、 の にあるxy を し、 の2つの は と さです.columnおよびrowのパラメータが されると、 される は、 のセルの を する.col2およびrow2パラメータも された 、 される は、 columnからcol2 ,まで rowからrow2までの gridに まれる を する.
えば、w.grid_bbox(0,0,1,1)は、4つのセルの を し、1つではありません.w .grid_forget()
この は、コンポーネントwをスクリーンから させる.まだ しますが、 えません..grid()を して できますが、グリッド は されません.w .grid_info()
キーワードがwのオプション であり、オプション に する である を します.w .grid_location( xy )
に する (x,y)が えられ、この は、 (colメッシュシステムがスクリーン を むセルを する row,w)を す.w .grid_propagate()
、すべてのコンポーネントはサイズを します.これは、コンテンツに するためにサイズを することを します.しかし、コンポーネントのサイズを に し、 を したい があります.これを うために、wが び される.grid_propagate(0)、ここでwは、サイズを に したいコンポーネントです.w .grid_remove()
この は.grid_forget()に ていますが、そのオプションは えられますので、.grid()を して すると、 じグリッド オプションが されます.w .grid_size()
と を む2 の を します.コンポーネントのメッシュシステムにおいて.w .grid_slaves(row=None, column=None)
コンポーネントw によって されるサブコンポーネントのリストを します.パラメータが されていない 、すべての コンポーネントのリストが られます.row= argumentで1 のコンポーネントリストを するか、column= argumentで1 のコンポーネントリストを します.
4.3. のサイズの
の を らない り、 されたコンポーネントの のグリッド の は、 も いセルの に しく、グリッド の さは も いセルの さになります.コンポーネントのstickyプロパティは、セルが に め まれていない は、そこにのみ されます.
と の サイズ を きする は、グリッドレイアウトを む コンポーネントwを します.w .columnconfigure( Noption = value , ...)
コンポーネント のメッシュレイアウトは、 えられたvalueがNに えられるように optionを する.オプションについては、 の を してください.w .rowconfigure( Noption = value , ...)
コンポーネント のメッシュレイアウトは、 Nを し、 のvalueをoptionに える.オプションについては、 の を してください.
は、 する と のサイズのオプションです.
Table 2. Column and row configuration options for the  .grid()  geometry manager minsize
ピクセル の または の サイズ. された や がある は、このオプションを しても されません.pad
ピクセル は、 した に され、 セルの または に されます.weight
このオプションを して、 または を し し、 のスペースを り てる を すると、このような または の な みが えられます.たとえば、 wにメッシュレイアウトが まれている 、これらの は 1 と 2 の4 の1に なスペースを り てます.
    w.columnconfigure(0, weight=3)
    w.columnconfigure(1, weight=1)
このオプションを しない 、 または は されません.
4.4. ウィンドウのサイズを
アプリケーション のウィンドウサイズを し、 に なスペースを り てたいですか?これらには らかでない が です.
サイズ には,これらの を いる がある. は、Section 4.3、「Configuring column and row sizes」で、アプリケーション のグリッドを ばすことができます.もちろん、 で うには りません.
なアプリケーション がSection 2にあることを すると、「A minimalアプリケーション」には、Quitボタンが1つしか まれていない.このアプリケーションを してウィンドウのサイズを すると、ボタンは じサイズに たれ、ウィンドウは に します.
これはminimalアプリケーションにおける.__createWidgets()の である.このバージョンでは、Quitボタンは にすべての き を めています.
    def createWidgets(self):
        top=self.winfo_toplevel()                1
        top.rowconfigure(0, weight=1)            2
        top.columnconfigure(0, weight=1)         3
        self.rowconfigure(0, weight=1)           4
        self.columnconfigure(0, weight=1)        5
        self.quit = Button(self, text='Quit', command=self.quit)
        self.quit.grid(row=0, column=0,          6
            sticky=tk.N+tk.S+tk.E+tk.W)

1
「トップレベルwindow」は の のウィンドウです.しかし、このウィンドウはあなたのアプリケーションウィンドウではなく、アプリケーションインスタンスの です. のウィンドウを するには、アプリケーション の のコンポーネントで.winfo_toplevel()メソッドを び します.Section 26,「Universal widget methods」を .
2
これにより、 ウィンドウの0 のメッシュが き ばされます.
3
これにより、 ウィンドウの0 のメッシュが き ばされます.
4
アプリケーションコンポーネントの0 のメッシュを し します.
5
アプリケーションコンポーネントの0 のメッシュを し します.
6
パラメータsticky=tk.N+tk.S+tk.E+tk.Wは、ボタンを してセルグリッドを めます.
これはもう つの えなければならないことです.コンストラクション では、2 を のように します.
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid(sticky=tk.N+tk.S+tk.E+tk.W)
        self.createWidgets()

パラメータsticky=tk.N+tk.S+tk.E+tk.Wself.grid()に して であり、アプリケーションコンポーネントを ウィンドウのグリッドのセルを めるために させる.