第 3 章 フレーム

◀ 3. 9 マウスカーソル   【目  次】  3.11 フレーム表示位置とサイズ(2) ▶

999999

 更新日:


 このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。

3.10 フレーム表示位置とサイズ(1)(place_configure、place、x、y、width、height、place_info)

 フレームのサイズは、固有オプション の「width」と「height」オプションで設定しましたが(3.4 サイズ 参照)、フレームを表示する「place_configure」または「place」メソッドで設定することができます。

 「place_configure」または「place」メソッドでフレームの表示位置とサイズを設定するには下記の書式を用います。詳細は Place クラスメソッド を参照して下さい。

object.place_configure(cnf={}, **kw)
object.place(cnf={}, **kw)

 引数にフレームの表示位置とサイズをキーワードで指定します。横座標位置は「x」、縦座標位置は「y」、幅は「width」、高さは「height」を用います。

 このメソッドで「幅」と「高さ」を設定すると、オブジェクトの作成時に指定した「width」と「height」オプションの設定値は無視されます。オブジェクトの作成時に指定した「width」と「height」オプションの設定を有効にするには、引数に空文字「''」を設定した「place_configure」または「place」メソッドを実行します。

 「place_configure」または「place」メソッドで設定した表示位置とサイズは「place_info」メソッドで取得することができます。下記の書式を用います。詳細は Place クラスメソッドを参照して下さい。

object.place_info()

 このメソッドは「place_configure」または「place」メソッドのオプションのキーワードの文字列と値を辞書型で返します。個別のオプションに対する値は辞書型リストからキーワードインデックスで取得することができます。

 次のプログラムは「place」メソッドでフレームの表示位置とサイズを設定しています。設定後の値を「place_info」とメソッドで取得して「print」出力しています。全てのオプションに対する設定値を辞書型で、表示位置とサイズをそれぞれキーワードインデックスで取得して出力しています。

1
import tkinter as tk
2
root = tk.Tk()
3
root.wm_geometry('300x200+100+100')
4
frame = tk.Frame(root, bg='red')
5
frame.place(x=50, y=20, width=200, height=160)
6
print(frame.place_info())
7
print('-----')
8
print('position', frame.place_info()['x'],
9
                    frame.place_info()['y'])
10
print('size', frame.place_info()['width'],
11
                frame.place_info()['height'])
12
root.mainloop()

「print」出力が各キーワードに対して下記のように得られます。

{'in': , 'x': '50', 'relx': '0', 'y': '20', 'rely': '0', 'width': '200', 'relwidth': '', 'height': '160', 'relheight': '', 'anchor': 'nw', 'bordermode': 'inside'}
-----
position 50 20
size 200 160