آموزش کتابخونه tkinter در پایتون | جلسه دوم: ویجتهای پایه در Tkinter
-
آشنایی و معرفی کامل tikenter
-
جلسه اول آموزش tkinter
Label، Button، Entry
۱. ویجتها چیستند؟
ویجتها (widget) عناصر گرافیکیای هستند که در پنجره میگذاریم تا با کاربر تعامل داشته باشیم، مثل دکمه، متن، فیلد ورود داده و …
۲. ویجتهای مهم و ساده:
Label: نمایش متن یا تصویر
Button: دکمه قابل کلیک
Entry: فیلد ورود متن تک خطی
۳. مثال ساده با هر سه ویجت:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ |
import tkinter as tk root = tk.Tk() root.title("ویجتهای پایه") root.geometry("۳۰۰x200") # ساخت Label label = tk.Label(root, text="سلام! به Tkinter خوش آمدید.") label.pack(pady=۱۰) # pack برای قرار دادن ویجت در پنجره # ساخت Entry entry = tk.Entry(root) entry.pack(pady=۱۰) # ساخت Button def on_click(): text = entry.get() # دریافت متن وارد شده در Entry label.config(text=f"شما نوشتید: {text}") button = tk.Button(root, text="ارسال", command=on_click) button.pack(pady=۱۰) root.mainloop() |
توضیح کد:
Label نمایش متن اولیه و سپس تغییر آن با config()
Entry محل وارد کردن متن توسط کاربر
Button دکمهای که با کلیک، تابع on_click اجرا میشود.
command=on_click تعیین تابعی که بعد از کلیک اجرا میشود.
pack() قرار دادن ویجت در پنجره به صورت خودکار (جلسات بعدی به مدیریت بهتر میپردازیم).
تمرین جلسه دوم:
۱. پنجرهای بساز که یک Label با متن دلخواه، یک Entry و یک Button داشته باشد.
۲. با کلیک روی دکمه، متن Label با متنی که در Entry نوشته شده تغییر کند.
۳. چند بار این کار را انجام بده و مطمئن شو متن بهروز میشود.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ |
import tkinter as tk root = tk.Tk() root.title("تمرین ویجتها") root.geometry("۳۰۰x200") label = tk.Label(root, text="سلام! به Tkinter خوش آمدید.") label.pack(pady=۱۰) entry = tk.Entry(root) entry.pack(pady=۱۰) def on_click(): new_text = entry.get() label.config(text=f"شما نوشتید: {new_text}") button = tk.Button(root, text="ارسال", command=on_click) button.pack(pady=۱۰) root.mainloop() |
- آموزش کتابخونه tkinter در پایتون
- آموزش کتابخونه tkinter در پایتون
نکات مهم جلسه دوم:
۱. ویجتها عناصر تعاملی GUI هستند.
هر ویجت باید به یک پنجره یا فریم تعلق داشته باشد (در اینجا root).
۲. Label برای نمایش متن است.
میتوان متن آن را با label.config(text=”متن جدید”) تغییر داد.
۳. Entry برای گرفتن ورودی متنی تکخطی.
با entry.get() میتوان متن وارد شده را دریافت کرد.
۴. Button برای ایجاد دکمه کلیکپذیر.
* پارامتر command به تابعی اشاره دارد که با کلیک اجرا میشود.
۵. تابع callback
ابعی که هنگام رویداد (مثلاً کلیک دکمه) اجرا میشود.
تابع باید بدون پرانتز داده شود (مثلاً command=on_click نه command=on_click()).
۶. متد pack() برای جایگذاری سریع ویجتها
در این جلسه فقط از pack() استفاده کردیم، در جلسه بعد با روشهای دیگر آشنا میشویم.
شعبه ساری: خیابان مهدیه، نبش بهمن شرقی
شعبه بابل: پل کارگر به سمت کشوری، روبروی ماکروویو، جنب فروشگاه جانبو
شعبه قائم شهر: خیابان ساری، بین یاس ۲۰ و ۲۲