آموزش ساخت رابط کاربری گرافیکی (GUI) با پایتون و Tkinter
دستهبندی: پایتون و توسعه نرمافزار | تاریخ: بیست و یکم شهریور ۱۴۰۴
این کتابخانه به شما امکان میدهد با چند خط کد، پنجرهها، دکمهها و فرمهای ساده بسازید و برنامههای کاربرپسند طراحی کنید. در این مقاله قدمبهقدم با مفاهیم اصلی و نمونهکدهای کاربردی آشنا میشویم.
۱. چرا Tkinter انتخاب مناسبی است؟
دلایل محبوبیت Tkinter در میان توسعهدهندگان:
- جزو کتابخانههای پیشفرض پایتون (نیاز به نصب جداگانه ندارد)
- سادگی در یادگیری و استفاده
- پشتیبانی از ویجتهای متنوع (Label، Button، Entry، Frame و …)
- مناسب برای پروژههای کوچک و متوسط
۲. ساخت اولین پنجره در Tkinter
با چند خط کد میتوانید اولین پنجره خود را بسازید:
import tkinter as tk root = tk.Tk() root.title("اولین برنامه GUI") root.geometry("300x200") root.mainloop()
این کد یک پنجره ساده با عنوان و ابعاد مشخص ایجاد میکند.
نکته کلیدی
همیشه دستور mainloop()
را در انتهای کد قرار دهید؛ این دستور اجرای برنامه GUI را تا زمان بستن پنجره ادامه میدهد.
۳. افزودن ویجتها (Widgets)
ویجتها اجزای اصلی رابط کاربری هستند. نمونهای از اضافه کردن Label و Button:
import tkinter as tk def say_hello(): label.config(text="سلام دنیا!") root = tk.Tk() label = tk.Label(root, text="خوش آمدید", font=("IRANSans", 14)) label.pack() button = tk.Button(root, text="کلیک کن", command=say_hello) button.pack() root.mainloop()
با کلیک روی دکمه، متن برچسب تغییر میکند.
۴. ورودیها و فرم ساده
میتوانید با استفاده از Entry اطلاعات کاربر را دریافت کنید:
import tkinter as tk def show_name(): name = entry.get() label.config(text=f"سلام {name}!") root = tk.Tk() entry = tk.Entry(root) entry.pack() button = tk.Button(root, text="نمایش نام", command=show_name) button.pack() label = tk.Label(root, text="") label.pack() root.mainloop()
این کد نام وارد شده توسط کاربر را نمایش میدهد.
توصیه مهم
از Layout Managers مثل pack()
، grid()
و place()
برای مدیریت چیدمان ویجتها استفاده کنید.
۵. پروژه کوچک: ماشین حساب ساده
یک مثال عملی برای ترکیب ویجتها:
import tkinter as tk def calculate(): try: result = eval(entry.get()) label.config(text=f"نتیجه: {result}") except: label.config(text="خطا در محاسبه") root = tk.Tk() root.title("ماشین حساب ساده") entry = tk.Entry(root) entry.pack() button = tk.Button(root, text="محاسبه", command=calculate) button.pack() label = tk.Label(root, text="") label.pack() root.mainloop()
این کد یک ماشینحساب ساده ایجاد میکند که عبارات ریاضی را محاسبه میکند.
۶. مزایا و محدودیتهای Tkinter
سادگی و یادگیری سریع
بدون نیاز به نصب اضافی
ظاهر سادهتر نسبت به کتابخانههایی مثل PyQt یا Kivy
محدودیت در طراحیهای پیچیده
جمعبندی
Tkinter یکی از بهترین گزینهها برای شروع یادگیری ساخت رابط کاربری با پایتون است.
با استفاده از ویجتها، مدیریت چیدمان و رویدادها میتوانید برنامههای کاربردی ساده تا متوسط بسازید.
اگر قصد دارید در آینده نرمافزارهای حرفهایتر طراحی کنید، Tkinter بهترین نقطه شروع برای یادگیری مفاهیم GUI خواهد بود.