tkinter
Tkinterジオメトリマネージャー
サーチ…
前書き
ウィジェットの配置には、 pack()
、 grid()
、 place()
3つのジオメトリ・マネージャがあります。
パック()
pack()
ジオメトリマネージャは、ウィジェットを親ウィジェットに配置する前にブロックでウィジェットを編成します。それは、 fill
、 expand
、およびside
オプションを使用します。
構文
widget.pack(option)
塗りつぶす
ウィジェットが必要最小限のスペースを保持するか、それに割り当てられた余分なスペースを占有するかどうかを決定します。属性:NONE(デフォルト)、X(水平に塗りつぶす)、Y(垂直に塗りつぶす)、BOTH(水平と垂直の両方を塗りつぶす)。
展開する
YESに設定すると、ウィジェットの親で使用されていないスペースを埋めるようにウィジェットが展開されます。属性:YES、NO。
側
ウィジェットの親のどちら側にパックするかを決定します。属性:TOP(デフォルト)、BOTTOM、LEFT、またはRIGHT。
例
from tkinter import *
root = Tk()
btn_fill = Button(root, text="Button")
btn_fill.pack(fill=X)
btn_expand = Button(root, text="Button")
btn_expand.pack(expand=YES)
btn_side = Button(root, text="Button")
btn_side.pack(side=RIGHT)
root.mainloop()
結果
グリッド()
grid()
ジオメトリ・マネージャは、親ウィジェット内の表のような構造のウィジェットを編成します。マスターウィジェットは行と列に分割され、テーブルの各部分はウィジェットを保持できます。これは、 column
、 columnspan
、 ipadx
、 ipady
、 padx
、 pady
、 row
、 rowspan
、 sticky
ます。
構文
widget.grid(options)
カラム
ウィジェットを配置する列。デフォルトの列は0で、一番左の列です。
列スパン
いくつの列ウィジェットが使用されますか。デフォルトは1です。
Ipadx
ウィジェットの枠内で水平にウィジェットを埋め込むピクセル数。
アイパディ
ウィジェットの枠内で縦にウィジェットを埋め込むピクセル数。
Padx
ウィジェットの境界線の外に水平にウィジェットを埋め込むピクセル数。
パディ
ウィジェットの境界線の外側でウィジェットを垂直方向にいくつのピクセルに分割するか。
行
ウィジェットを配置する行。デフォルトの行は0で、最上位の列です。
行間
ウィジェットが占める行の数。デフォルトは1です。
付箋
ウィジェットがセルよりも小さい場合、ウィジェットがsticky
セルの側面と角を示すためにsticky
が使用されます。方向は、N、E、S、W、NE、NW、SE、SWの各コンパスの方向とゼロによって定義されます。これらは文字列連結でもかまいません。例えば、NESWはウィジェットがセルの全領域を占めるようにします。
例
from tkinter import *
root = Tk()
btn_column = Button(root, text="I'm in column 3")
btn_column.grid(column=3)
btn_columnspan = Button(root, text="I have a columnspan of 3")
btn_columnspan.grid(columnspan=3)
btn_ipadx = Button(root, text="ipadx of 4")
btn_ipadx.grid(ipadx=4)
btn_ipady = Button(root, text="ipady of 4")
btn_ipady.grid(ipady=4)
btn_padx = Button(root, text="padx of 4")
btn_padx.grid(padx=4)
btn_pady = Button(root, text="pady of 4")
btn_pady.grid(pady=4)
btn_row = Button(root, text="I'm in row 2")
btn_row.grid(row=2)
btn_rowspan = Button(root, text="Rowspan of 2")
btn_rowspan.grid(rowspan=2)
btn_sticky = Button(root, text="I'm stuck to north-east")
btn_sticky.grid(sticky=NE)
root.mainloop()
結果
場所()
place()
マネージャは、ウィジェットを親ウィジェットの特定の位置に配置することによってウィジェットを編成します。このジオメトリマネージャは、オプションの使用anchor
、 bordermode
、 height
、 width
、 relheight
、 relwidth
、 relx
、 rely
、 x
とy
。
アンカー
ウィジェットが固定されている場所を示します。 N、E、S、W、NE、NW、SE、SWの4つのオプションがあります。これらは親ウィジェットの側面と角に関連しています。デフォルトはNW(ウィジェットの左上隅)です。
ボーダーモード
:Bordermodeには2つのオプションがあるINSIDE
他のオプションは、親の内部を参照していることを示し、(親の境界を無視)し、 OUTSIDE
、反対です。
高さ
ウィジェットの高さをピクセル単位で指定します。
幅
ウィジェットの幅をピクセル単位で指定します。
リハビリ
高さは親ウィジェットの高さの小数部として0.0〜1.0の間の浮動小数点数です。
広幅
親ウィジェットの幅の一部として、0.0〜1.0の間のfloatとしての幅。
Relx
親ウィジェットの幅の一部として、0.0〜1.0の間の浮動小数点としての水平オフセット。
頼む
親ウィジェットの高さの一部として、0.0〜1.0の間の浮動小数点としての垂直オフセット。
バツ
ピクセル単位の水平オフセット。
Y
ピクセル単位の垂直オフセット。
例
from tkinter import *
root = Tk()
root.geometry("500x500")
btn_height = Button(root, text="50px high")
btn_height.place(height=50, x=200, y=200)
btn_width = Button(root, text="60px wide")
btn_width.place(width=60, x=300, y=300)
btn_relheight = Button(root, text="Relheight of 0.6")
btn_relheight.place(relheight=0.6)
btn_relwidth= Button(root, text="Relwidth of 0.2")
btn_relwidth.place(relwidth=0.2)
btn_relx=Button(root, text="Relx of 0.3")
btn_relx.place(relx=0.3)
btn_rely=Button(root, text="Rely of 0.7")
btn_rely.place(rely=0.7)
btn_x=Button(root, text="X = 400px")
btn_x.place(x=400)
btn_y=Button(root, text="Y = 321")
btn_y.place(y=321)
root.mainloop()
結果