第 2 章 サブウィンドウ

◀ 2.28 イベント処理   【目  次】  2.30 ウィンドウの切り替え表示 ▶

999999

 更新日:


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

2.29 ウィンドウハンドルの取得(wm_frame)

 サブウィンドウはメインウィンドウと同様に OS によってタイトルバーやメニューが装飾されて作成されます。Windows の関数でウィンドウを操作する識別子(ウィンドウハンドル)はメインウィンドウと同様に Wm クラスの「wm_frame」メソッドで取得します。1.29 ウィンドウハンドルの取得を参照して下さい。

 次のプログラムは、サブウィンドウのウィンドウハンドルを「wm_frame」メソッドで取得しています。取得値は 16 進文字列なので Python の関数で 10 進整数値に変換しています。それぞれを「print」出力しています。

1
import tkinter as tk
2
root = tk.Tk()
3
root.geometry('300x200+100+100')
4
sub = tk.Toplevel(root, width=300, height=200, bg='red')
5
sub.geometry('+140+120')
6
root.update()
7
root.wm_deiconify()
8
sub.wm_deiconify()
9
sf = sub.wm_frame()
10
print(sf)
11
hwnd = int(sf, 16)
12
print(hwnd)
13
root.mainloop()

 プログラムを実行すると、ウィンドウが表示され、ウィンドウハンドルが 16 進文字列、10 進整数値としてprint」出力されます。

0x3a06ac
3802796