اگر دقت کرده باشید حتما متوجه شده اید که بعد از اجرای برنامه هایی که با Tkinter ساخته اید، آیکون بالای پنجره به صورت پیش فرض توسط Tkinter تعیین شده است.

در این مطلب می خواهیم روش تعیین و نمایش آیکون دلخواه بر روی پنجره برنامه را معرفی کنیم. ابتدا یک برنامه می نویسیم که یک لیبل ساده را به نمایش می گذارد.

import tkinter as tk
from  tkinter import *
root=tk.Tk()
root.geometry("300x150")
root.resizable(False,False)
root.title('Icon karakit')
lblRate=Label(root, text="You Can see the default Icon. ")
lblRate.place(height=20,width=160,x=70,y=50)
root.mainloop()

می بینید که در بالای پنجره سمت چپ آیکون پیش فرض نمایش داده شده است:

برای اینکه بتوانیم آیکون دلخواهمان را در این پنجره نمایش دهیم ابتدا لازم است که فایل تصویری آن را با فرمت PNG در فولدری که برنامه ما در آن ذخیره شده است قرار دهیم. نام فایلی که ما آن را ذخیره کرده ایم MyIcon.png است.

برنامه جدید به این شکل خواهد بود:

import os
import tkinter as tk
from  tkinter import *
root=tk.Tk()
root.geometry("300x150")
root.resizable(False,False)
root.title('Icon karakit')
lblRate=Label(root, text="You Can see Your Icon. ")
lblRate.place(height=20,width=160,x=70,y=50)
currentDir=os.path.dirname(os.path.abspath(__file__))
photo = PhotoImage(file = currentDir + "\MyIcon.png")
root.iconphoto(False,photo)
root.mainloop()

برای معرفی آدرس فایل تصویری در برنامه ، ابتدا باید کتابخانه os را مشابه خط 1 فراخوانی کنیم. در خط 10 آدرس فولدر برنامه را در متغیر currentDir می ریزیم. بعد در خط 11 با استفاده از دستور photoImage فایل تصویری را در شی photo قرار می دهیم. توجه نمایید که چطور با استفاده از آدرسی که در خط قبل استخراج کردیم و نام فایل تصویری به پایتون می گوییم که کدام فایل را می خواهیم انتخاب کنیم.

در خط بعد با استفاده از iconphoto شی photo را که در خط قبل ایجاد کردیم به عنوان آیکون برنامه معرفی می کنیم. نتیجه اجرای برنامه به این شکل خواهد بود:

بهتر است که فایل تصویری به صورت مربع و ابعاد آن کوچک باشد.