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

کلاس PhotoImage

از این کلاس برای نمایش یا افزودن یک تصویر به یک برچسب، دگمه، ویجت های متنی مانند Entry و Canvas کمک گرفته می شود. کاربرد این کلاس برای آماده سازی یک تصویر و سپس افزودن و نمایش آن بر روی یکی از ویجت های گفته شده است. تابع سازنده کلاس PhotoImage پارامتری به نام file دارد که نام یا مسیر فایل تصویر را دریافت می کند.

  • نخست نیاز است تا یک شی از کلاس PhotoImage بسازیم که پارامتر file در تابع سازنده، نام و مسیر فایل را دریافت می کند.
  • باید نام شی ساخته شده از کلاس PhotoImage به پارامتری به نام image در تابع سازنده کلاس ویجت هایی مانند Label یا Button فرستاده شود.

بنابراین هر کدام از ویجت هایی که می توانند تصویری را نشان دهند، دارای یک پارامتر به نام image هستند که نام شی از کلاس PhotoImage را دریافت می کنند. در کد زیر یک تصویر با فرمت png بر روی یک برچسب نشان داده می شود. همانگونه که می بینید نخست نمونه کلاس PhotoImage ساخته شده است. همچنین در دومین کد زیر یک تصویر دوباره با PhotoImage ساخته شده و سپس بر روی یک دگمه نشان داده می شود. بازهم به یاد داشته باشید در تابع سازنده Button پارامتر text نوشته روی دگمه را دریافت می کند.