このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
2.11 スクリーン表示位置とサイズ(2)(winfo_x、winfo_y、winfo_rootx、winfo_rooty、winfo_width、winfo_height、winfo_reqwidth、winfo_reqheight)
サブウィンドウの表示位置とサイズの取得はメインウィンドウと同じです。1.11 スクリーン表示位置とサイズ(2)を参照して下さい。
次のプログラムは「width」と「height」オプションでサブウィンドウサイズを指定した後、「wm_geometry」メソッドでサブウィンドウの表示位置とサイズを設定しています。ウィンドウの表示位置とサイズを各メソッドで取得して「print」出力しています。
import tkinter as tk | |
root = tk.Tk() | |
root.wm_geometry('300x200+500+100') | |
sub = tk.Toplevel(root, width=456, height=123, bg='red') | |
sub.wm_geometry('300x200+540+120') | |
root.update() | |
root.wm_deiconify() | |
sub.wm_deiconify() | |
print('position', sub.winfo_x(), sub.winfo_y()) | |
print('position_r', sub.winfo_rootx(), sub.winfo_rooty()) | |
print('size', sub.winfo_width(), sub.winfo_height()) | |
print('size_rq', sub.winfo_reqwidth(), sub.winfo_reqheight()) | |
root.mainloop() |
「print」出力が各メソッドに対して下記のように得られます。
position 540 120
position_r 548 151
size 300 200
size_rq 456 123
position_r 548 151
size 300 200
size_rq 456 123