...
آموزش ساخت ساعت دیجیتالی با Tkinter
نوشته شده توسط متین برونسی
دسته بندی ها:
در این بخش به بررسی نحوه ساخت ساعت دیجیتالی با tkinter در پایتون پرداخته ایم، ابتدا سورس پروژه را برای شما قرار داده ایم و در ادامه توضیحاتی را در اختیار شما گذاشته ایم که پیشنهاد می شود حتماً مطالعه کنید.
سورس کد پروژه
تماشا در حالت تمام صفحه
توضیحات
from tkinter import *
با استفاده از این دستور، تمام کلاسها و توابع مورد نیاز از کتابخانه tkinter به برنامه اضافه میشوند.root = Tk()
این خط برای ایجاد یک شیء پنجره (اصلی) استفاده میشود. در این مورد، یک شیء جدید از کلاس Tk ایجاد میشود و به متغیر root اختصاص داده میشود.timeone = ''
این متغیر برای ذخیره زمان قبلی استفاده میشود. در ابتدا به صورت رشتهای خالی تعریف میشود.clock = Label(root, font=('Tahoma', 48), text='')
این خط برای ایجاد یک عنصر Label (برچسب) استفاده میشود. Label با استفاده از root (شیء پنجره اصلی) ایجاد میشود و فونت، اندازه و متن آن تعیین میشود. در این مورد، فونت Tahoma با اندازه 48 پیکسل و متن خالی (به عنوان مقدار اولیه) تنظیم شده است.clock.pack(fill=BOTH, expand=1)
این خط برای قرار دادن عنصر Label در پنجره استفاده میشود. با استفاده ازpack()
، عنصر Label در صفحه نمایش قرار میگیرد و با پر کردن فضای خالی در هر دو جهت (عرض و ارتفاع) و گسترش آن، تمام فضای موجود را اشغال میکند.def tick():
این خط برای تعریف تابعtick()
استفاده میشود. این تابع مسئول به روز رسانی زمان در عنصر Label است.global timeone
با استفاده از این دستور، متغیر timeone به عنوان یک متغیر سراسری تعریف میشود، به طوری که در داخل تابع و در خارج از آن قابل دسترسی است.timetwo = time.strftime('%H:%M:%S')
این خط برای دریافت زمان فعلی از سیستم به صورت ساعت:دقیقه:ثانیه استفاده میشود. تابعstrftime()
بر اساس یک الگوی زمانی ('%H:%M:%S'
در اینجا) زمان فعلی را به یک رشته تبدیل میکند.if timetwo != timeone: ...
این شرط بررسی میکند آیا زمان جدید (timetwo) با زمان قبلی (timeone) متفاوت است یا خیر. اگر متفاوت باشند، مقدار timeone به timetwo تغییر میکند و متن عنصر Label به زمان جدید تنظیم میشود.clock.after(200, tick)
این دستور برای زمانبندی بازخوانی تابعtick()
استفاده میشود. با استفاده ازafter()
، برنامه هر 200 میلیثانیه تابعtick()
را مجدداً فراخوانی میکند، تا زمان را به روز نگه دارد.tick()
این دستور برای اجرای اولیه تابعtick()
استفاده میشود، تا زمان به صورت فوری نمایش داده شود.root.mainloop()
این خط باعث شروع حلقه اصلی برنامه میشود که اجازه میدهد پنجره باز بماند و واکنشهای کاربر را دریافت کند. در این حالت، برنامه تا زمانی که پنجره بسته شود، ادامه خواهد یافت.
آیا این مطلب برای شما مفید بود ؟
خیر
بله