Tkinter 8.5参考マニュアル:a GUI for Python(四)
6671 ワード
4.2. その他grid管理方法
gridに関連するこれらのメソッドは、すべてのコンポーネントで定義されます.
gridに関連するこれらのメソッドは、すべてのコンポーネントで定義されます.
w
.grid_bbox(column=None, row=None, col2=None, row2=None)
コンポーネントw
のgridシステムの または の を する4 の を す. の2つの は、 の にあるx
とy
を し、 の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( x
, y
)
に する (x
,y
)が えられ、この は、 (col
メッシュシステムがスクリーン を むセルを する row
,w
)を す.w
.grid_propagate()
、すべてのコンポーネントはサイズを します.これは、コンテンツに するためにサイズを することを します.しかし、コンポーネントのサイズを に し、 を したい があります.これを うために、w
が び される.grid_propagate(0)、ここでw
は、サイズを に したいコンポーネントです.w
.grid_remove()
この は.grid_forget()
に ていますが、そのオプションは えられますので、.grid()
を して すると、 じグリッド オプションが されます.w
.grid_size()
と を む2 の を します.コンポーネントw
のメッシュシステムにおいて.w
.grid_slaves(row=None, column=None)
コンポーネントw
によって されるサブコンポーネントのリストを します.パラメータが されていない 、すべての コンポーネントのリストが られます.row=
argumentで1 のコンポーネントリストを するか、column=
argumentで1 のコンポーネントリストを します.
4.3. のサイズの
の を らない り、 されたコンポーネントの のグリッド の は、 も いセルの に しく、グリッド の さは も いセルの さになります.コンポーネントのsticky
プロパティは、セルが に め まれていない は、そこにのみ されます.
と の サイズ を きする は、グリッドレイアウトを む コンポーネントw
を します.w
.columnconfigure( N
, option
= value
, ...)
コンポーネントw
のメッシュレイアウトは、 えられたvalueがN
に えられるように option
を する.オプションについては、 の を してください.w
.rowconfigure( N
, option
= value
, ...)
コンポーネントw
のメッシュレイアウトは、 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.W
はself.grid()
に して であり、アプリケーションコンポーネントを ウィンドウのグリッドのセルを めるために させる.