آموزش کتابخانه Tkinter در پایتون، طراحی فرم، دکمه و پنجره با مثال عملی
فهرست مطالب این نوشته
Toggleبرای ساخت رابطهای گرافیکی در پایتون میتوانید از کتابخانههای مختلفی مانند PyQt، Kivy، wxPython و Tkinter استفاده کنید. ولی در بین این موارد سادهترین گزینه Tkinter است. با استفاده از این کتابخانه میتوانید برنامههای متنی ساده را به نرمافزارهایی با پنجرهها، دکمهها، فرمها و منوهای جذاب تبدیل کنید. در کنار یادگیری رابطهای گرافیکی در پایتون، بسیاری از افراد علاقه دارند مهارتهای پایهای را نیز در نرمافزارهای طراحی مثل آموزش مبتدی اتوکد تقویت کنند.
همراه ما باشید تا به آموزش tkinter از مرحلهی نصب تا طراحی فرم واقعی بپردازیم.
تخفیفهای شگفتانگیز جشنواره آکادمی چابک
تخفیف بگیر و ثبت نام کن!
کتابخانه Tkinter چیست؟
کتابخانه Tkinter برای سادهسازی فرایند ساخت رابطهای گرافیکی طراحی شده و قابلیتهایی برای طراحی، مدیریت رویدادها و کنترل اجزای مختلف برنامه دارد. از این کتابخانه میتوانید برای ساخت فرمهای ثبت اطلاعات، ابزارهای کوچک دسکتاپی، برنامههای آموزشی یا حتی نمونهسازی رابطهای نرمافزار استفاده کنید.
ویژگیهای متعددی وجود دارند که باعث محبوبیت Tkinter شدهاند که در ادامه مهمترینشان را معرفی کردهایم:
- نصب پیشفرض با پایتون (بدون نیاز به تنظیمات پیچیده)
- قابلیت اجرا روی ویندوز، مک و لینوکس
- پشتیبانی از صدها ویجت آماده برای دکمه، لیست، فرم و منو
نکته: اگر از VSCode استفاده میکنید، کافی است ماژول Tkinter را فعال نگه دارید.
همین حالا ثبتنام کنید!
چطور میتوان Tkinter را نصب و در محیطهایی مثل VSCode اجرا کرد؟
در اکثر نسخههای پایتون، Tkinter از قبل نصب شده است. اما اگر در VSCode یا ترمینال با خطا مواجه شدید، کافی است دستور زیر را اجرا کنید:
pip install tk
سپس برای اطمینان از صحت نصب، یک فایل پایتون جدید بسازید و کد زیر را اجرا کنید:
import tkinter as tk
window = tk.Tk()
window.title(“تست Tkinter”)
window.mainloop()
اگر پنجرهای کوچک با عنوان “تست Tkinter” باز شد، یعنی نصب موفق بوده است.
نکته مهم در نصب tkinter در vscode این است که VSCode باید از همان نسخهی پایتونی استفاده کند که Tkinter در آن نصب شده. برای این کار، در پایین پنجره VSCode روی نسخه پایتون کلیک کرده و مسیر صحیح را انتخاب کنید. همچنین برای مدیریت دادهها در برنامههای پایتون، میتوانید به سراغ آموزش queue در پایتون بروید تا با صفها و ساختارهای مرتبط آشنا شوید.
چگونه با استفاده از Tkinter یک رابط گرافیکی ساده بسازیم؟
در این بخش از آموزش جامع Tkinter در پایتون وارد قسمت عملی میشویم. هدف ما طراحی یک فرم ساده با برچسب (Label)، فیلد ورودی (Entry) و دکمه است.
برای ایجاد پنجره اصلی از کد زیر کمک بگیرید:
import tkinter as tk
window = tk.Tk()
window.title(“فرم ساده”)
window.geometry(“300×200”)
با این سه خط، یک پنجره اصلی ایجاد کردید. حالا باید عناصر گرافیکی (ویجتها) را اضافه کنید.
آشنایی با ویجت های tkinter در پایتون
ویجتها اجزای تشکیلدهندهی رابط کاربری هستند که بهوسیلهی آنها میتوانید بخشهای تعاملی و گرافیکی را به برنامه اضافه کنید. مهمترین ویجتها را در جدول زیر مشاهده میکنید:
| ویجت | توضیح | نمونه کد |
|---|---|---|
| Label | نمایش متن یا تصویر | tk.Label(window, text="نام:") |
| Entry | فیلد ورود متن | tk.Entry(window) |
| Button | اجرای دستور با کلیک | tk.Button(window, text="ارسال") |
| Frame | گروهبندی ویجتها | tk.Frame(window) |
ویجتها را میتوان با سه روش در صفحه چید:
- pack() برای چیدمان ساده عمودی یا افقی
- grid() برای چیدمان جدولی (مناسب فرمها)
- place() برای موقعیت دقیق با مختصات

نمونهی ساده:
tk.Label(window, text=”نام:”).grid(row=0, column=0)
entry = tk.Entry(window)
entry.grid(row=0, column=1)
tk.Button(window, text=”ثبت”).grid(row=1, columnspan=2)
در ادامه یک مثال کامل از آموزش رابط گرافیکی Tkinter در پایتون را بررسی کردهایم.
بررسی کامل یک فرم ثبت اطلاعات به کمک Tkinter
بیایید همهچیز را ترکیب کنیم تا یک فرم واقعی بسازیم که اطلاعات کاربر را دریافت کند و نتیجه را در یک پیام نمایش دهد:
import tkinter as tk
from tkinter import ttk, messagebox
class DataEntryForm:
def __init__(self):
self.window = tk.Tk()
self.window.title(“فرم ثبت اطلاعات”)
self.create_widgets()
def create_widgets(self):
frame = tk.LabelFrame(self.window, text=”اطلاعات کاربر”)
frame.pack(padx=10, pady=10, fill=”x”)
tk.Label(frame, text=”نام:”).grid(row=0, column=0)
self.first_name = tk.Entry(frame)
self.first_name.grid(row=0, column=1)
tk.Label(frame, text=”نام خانوادگی:”).grid(row=1, column=0)
self.last_name = tk.Entry(frame)
self.last_name.grid(row=1, column=1)
tk.Label(frame, text=”سن:”).grid(row=2, column=0)
self.age = tk.Spinbox(frame, from_=18, to=100)
self.age.grid(row=2, column=1)
submit = tk.Button(self.window, text=”ثبت”, command=self.submit)
submit.pack(pady=10)
def submit(self):
info = f”{self.first_name.get()} {self.last_name.get()} ({self.age.get()} ساله)”
messagebox.showinfo(“نتیجه”, f”اطلاعات شما ثبت شد:\n{info}”)
if __name__ == “__main__”:
DataEntryForm().window.mainloop()
با کمتر از ۳۰ خط کد توانستیم یک فرم گرافیکی کاربردی بسازیم که دادهی کاربر را گرفته، آن را پردازش میکند و نتیجه را در یک پیام نمایش میدهد.
5 نکته برای طراحی حرفهای که باید بدانید!
در آخرین قسمت، پنج نکتهای را آموزش میدهیم که به کمک آنها میتوانید رابطهای گرافیکی خود را حرفهایتر طراحی کنید:
- از کلاسها برای سازماندهی بهتر کد استفاده کنید.
- با LabelFrame بخشهای مختلف فرم را گروهبندی کنید.
- با geometry() اندازه و ابعاد پنجره را مشخص کنید.
- برای هشدار یا نمایش اطلاعات از messagebox بهره بگیرید.
- اگر قصد دارید پروژه را گسترش دهید، منطق برنامه و رابط کاربری را در فایلهای جدا بنویسید.
سخن پایانی
بنابراین با نوشتن کمترین میزان کد لازم میتوانید با استفاده از Tkinter، نرمافزارهای گرافیکی بسازید. البته در این حوزه، دقت به جزئیات طراحی و ساختار کد میتواند شما را از یک آماتور به یک طراح رابط گرافیکی حرفهای تبدیل کند.
اگر میخواهید بیشتر دربارهی زبان برنامهنویسی پایتون و کتابخانههای گرافیکی آن بدانید، میتوانید در دورههای پیشرفتهی ما در آکادمی چابک شرکت کنید تا در کوتاهترین زمان ممکن برای موقعیتهای برنامهنویس سنیور پایتون آماده شوید.
منبع:


دیدگاهتان را بنویسید