第 1 章 メインウィンドウ

◀ 1.20 表示状態の制御   【目  次】  1.22 メニューバー ▶

999999

 更新日:


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

1.21 ウィンドウアイコン(wm_iconbitmap、iconbitmap、wm_iconphoto、iconphoto)

 ウィンドウを作成するとタイトルバーの左側にアイコンが表示されます。このアイコンをユーザが作成した画像に置き換えることができます。Wm クラスメソッドの「wm_iconbitmap」または「iconbitmap」メソッド、「wm_iconphoto」または「iconphoto」メソッドで表示する画像を指定します。

 「wm_iconbitmap」または「iconbitmap」メソッドは ico 形式で作成した画像を表示します。下記の書式を用います。詳細は Wm クラスメソッドを参照して下さい。

object.wm_iconbitmap(bitmap=None, default=None)
object.iconbitmap(bitmap=None, default=None)

 引数 bitmap と default のどちらかに ico 形式の画像ファイル名を文字列で指定します。引数 bitmap に指定した場合はこのメソッドを実行したウィンドウに適用され、引数 default に指定した場合はトップレベルウィンドウの全てに適用されます。

 「wm_iconphoto」または「iconphoto」メソッドは「png」、「gif」、「ppm」、「pgm」形式で作成た画像を表示します。下記の書式を用います。詳細は Wm クラスメソッドを参照して下さい。

object.wm_iconphoto(default=False, *args)
object.iconphoto(default=False, *args)

 引数 default にウィンドウアイコンのウィンドウへの適用をブール値で指定します。「False」はメソッドを実行したウィンドウのみ、「True」はメソッドを実行したウィンドウとそのトップレベルウィンドウの全てに適用します。引数 *args にウィンドウアイコンに表示する tkinter フォトオブジェクトを指定します。tkinter フォトオブジェクトは PhotoImage クラスを用いて作成します。使用できる画像は「png」、「gif」、「ppm」、「pgm」形式です。PhotoImage クラスについては PhotoImage クラスを参照して下さい。

 次の 2 つのプログラムは、それぞれ「wm_iconbitmap」メソッドと「wm_iconphoto」メソッドでウィンドウアイコンを設定しています。アイコンは Python ロゴで、アプリケーションと同一のフォルダに python.ico ファイルおよび python.png ファイルとして保存しています。最初のプログラムでは「wm_iconbitmap」メソッドで直接 python.ico ファイルを指定しています。2 つめのプログラムでは python.png ファイルから PhotoImage クラスで tkinter フォトオブジェクトを作成しています。

1
import tkinter as tk
2
root = tk.Tk()
3
root.config(width=300, height=200)
4
root.wm_iconbitmap('python.ico')
5
root.mainloop()
1
import tkinter as tk
2
root = tk.Tk()
3
root.config(width=300, height=200)
4
photo = tk.PhotoImage(file='python.png')
5
root.iconphoto(False, photo)
6
root.mainloop()

 上の 2 つのプログラムを実行すると、それぞれ、タイトルバーの左側のウィンドウアイコンに指定した画像を持つ下図のウィンドウが表示されます。

A001_MainWindow_01-21