Tkinterウィンドウのデフォルトアイコンを変更する方法(iconbitmapの使い方)
Tkinterでアプリケーションを作成すると、ウィンドウのタイトルバーやメニューバーには、すべてのTkinterアプリケーションに共通して表示される「羽」のようなデフォルトアイコンが表示されます。この標準アイコンはそのままでも問題ありませんが、独自のアプリケーションらしさを出したい場合や、ブランドイメージに合わせたい場合には、カスタムアイコンに変更したくなるでしょう。
iconbitmap()メソッドでアイコンを変更する
Tkinterウィンドウのデフォルトアイコンを変更するには、iconbitmap("アイコンファイルのパス") メソッドを使用します。このメソッドはアイコンファイル(.ico形式)の場所を引数として受け取り、指定されたアイコンをウィンドウのタイトルバーおよびタスクバーに表示します。
サンプルコード
以下のPythonスクリプトでは、独自のアイコンを作成し、それを出力ウィンドウに適用しています。
# tkinterライブラリをインポート
from tkinter import *
# tkinterフレーム(ウィンドウ)のインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("750x250")
# ウィンドウとタスクバーのアイコンを変更
win.iconbitmap("favicon.ico")
# ラベルを作成
Label(win, text="Transparent Icon Window", font=('Lucida 15')).pack()
win.mainloop()実行結果
上記のコードを実行すると、タイトルバーにカスタマイズされたアイコンが表示されたウィンドウが立ち上がります。デフォルトの羽アイコンではなく、指定した「favicon.ico」ファイルのアイコンがメニューバー部分に反映されていることが確認できます。

補足ポイント
- iconbitmap()メソッドで指定できるのは、基本的に.ico形式のファイルです。PNGやJPEGなどの画像ファイルを直接指定するとエラーになる場合があります。
- アイコンファイルへのパスは、スクリプトの実行場所からの相対パスまたは絶対パスで指定できます。
- クロスプラットフォーム対応が必要な場合は、Windows環境ではiconbitmap()、LinuxやmacOSではiconphoto()メソッドを使うとより確実です。
-
Python Tkinterでルートウィンドウを非表示・破棄する2つの方法
Tkinterアプリケーションのテスト中に、デフォルトのウィンドウやフレームを一時的に隠したい、あるいは完全に閉じたいという場面に遭遇することがあります。Tkinterでは、withdraw()メソッドによる「非表示」と、destroy()メソッドによる「破棄」の2つのアプローチが用意されています。mainloop()とウィンドウのライフサイクルmainloop()は、外部イベントによってウィンドウが閉じられるまで、Tkinterアプリケーションを実行し続ける役割を担います。このメインループが動作している間、ウィンドウは画面上に表示され続けます。ウィンドウを完全に破棄(終了)したい場合は、de
-
tkinterでウィンドウを閉じる方法|destroy()メソッドの使い方を解説
tkinterを使えば、Pythonで手軽にGUIアプリケーションを作成できます。しかし、タイトルバー右上の×ボタン以外の方法でウィンドウやフレームを閉じたい場合、どのように実装すればよいか悩むこともあるでしょう。そのようなときに役立つのが、ウィンドウを破棄して閉じるための .destroy() メソッドです。tkinterの各ウィジェットや属性は互いに独立しているため、「ウィンドウを閉じる処理」を専用の関数として分離して定義できます。これにより、ボタンのクリックイベントからウィンドウを閉じる動作を自由に制御可能です。サンプルコード# ライブラリをインポート from tkinter impo