معرفی کتابخانه Tkinter پایتون + مثال
فریم ورک Tkinter یکی از کتابخانه های استاندارد در پایتون است که برای ایجاد رابط کاربری گرافیکی (GUI) در برنامه های دسکتاپ مورد استفاده قرار میگیرد. Tkinter توسعه برنامه های دسکتاپ را لذت بخش و آسان میکند. لازم به توضیح است که Tk کتابخانه اصلی و پیشفرض پایتون برای ایجاد رابط کاربری گرافیکی (GUI) است که از طریق رابط (interface) پایتون که همان Tkinter است مورد دسترسی قرار میگیرد.
در این مقاله کتابخانه Tkinter پایتون را معرفی میکنیم، پیش نیازهای آن را بررسی میکنیم، با روش های مختلف برنامه نویسی (GUI) یا رابط کاربری گرافیکی آشنا میشویم و به نحوه نصب Tkinter و کار با آن می پردازیم.
برنامهنویسی GUI در پایتون
راه های زیادی برای توسعه برنامه های مبتنی بر رابط کاربری گرافیکی (GUI) در پایتون وجود دارد. در ادامه به معرفی تعدادی از آنها میپردازیم:
1- Tkinter
کتابخانه Tkinter در پایتون، یک بسته استاندارد GUI (رابط کاربری گرافیکی) است. Tkinter ماژول رابط کاربری گرافیکی پیش فرض پایتون و همچنین رایج ترین روشی است که برای برنامه نویسی رابط کاربری گرافیکی در پایتون استفاده می شود. توجه داشته باشید که Tkinter مجموعه ای از wrapper ها است که ویجت های Tk (کتابخانه پیش فرض GUI در پایتون) را به عنوان کلاس های پایتون پیاده سازی می کند.
2- wxPython
wxPython یک جعبه ابزار رابط کاربری گرافیکی متن باز و چند پلتفرمی است که به زبان ++C نوشته شده است. همچنین از wxPython میتواند جایگزینی خوبی برای Tkinter باشد.
3- JPython
JPython پلتفرم پایتون برای زبان جاوا است که دسترسی یکپارچه اسکریپتهای پایتون را به کتابخانههای کلاس جاوا برای لوکال ماشین (local machine) فراهم میکند.
Tkinter چیست؟
همانطور که گفته شد فریم ورک Tkinter در پایتون به شما کمک میکند تا به راحتی بتوانید برنامه های GUI (رابط کاربری گرافیکی) بسازید. همچنین در میان فریم ورک های مختلف رابط کاربری گرافیکی، Tkinter تنها فریمورکی است که در کتابخانه استاندارد پایتون تعبیه شده است.
پیشنیاز یادگیری Tkinter داشتن دانش پایه ای زبان پایتون است. Tkinter یک ماژول (کتابخانه) سبک است و استفاده از آن راحت است. از دیگر ویژگی های کتابخانه Tkinter چند پلتفرمی (cross-platform) بودن آن است. این ویژگی به این معناست که شما یکبار کد را مینویسید و از آن در تمامی سیستم عامل ها از جمله ویندوز، مک و لینوکس استفاده میکنید.
ویژگی های Tcl، Tk، Tkinter
در ادامه به معرفی ویژگی های فریم روک Tkinter میپردازیم:
1- Tkinter کتابخانه رابط کاربری گرافیکی پیش فرض پایتون است که در واقع یک ماژول پوششی (wrapper module) بر بستر جعبه ابزار Tk است.
2- Tkinter مبتنی بر جعبه ابزار Tk است که در ابتدا برای زبان دستوری ابزار (Tool Command Language) طراحی شده بود. از آنجایی که Tk محبوبیت زیادی دارد، به انواع زبان های برنامه نویسی دیگر، از جمله Perl (Perl/Tk)، Ruby (Ruby/Tk) و Python (Tkinter) منتقل شده است.
3- ویژگی قابل حمل بودن و منعطف بودن توسعه رابط کاربری گرافیکی Tk آن را به ابزار مناسبی تبدیل می کند که می توان از آن برای طراحی و پیاده سازی طیف گسترده ای از برنامه های GUI تجاری با کیفیت استفاده کرد.
4- پایتون با Tkinter راه سریعتر و کارآمدتری را برای ساخت برنامههای کاربردی در اختیار ما قرار میدهد که اگر میخواستید مستقیما برنامه نویسی را با زبان ++C و C انجام دهید و از کتابخانه های خود سیستم عامل استفاده کنید، زمان زیادی میبرد.
5- هنگامی که Tkinter را راهاندازی کردیم، از بلوکهای اصلی که از آن ها به عنوان ابزارک (widget) یاد میشود برای ایجاد انواع برنامههای دسکتاپ استفاده میکنیم.
نحوه نصب Tkinter
برای نصب و راه اندازی Tkinter ابتدا باید پایتون را دانلود بر روی سیستم عامل خود نصب کنید. در اولین قدم تکه کد زیر را مینویسیم که با این کار در واقع کتابخانه Tkinter را به پروژه یا فایل خود اضافه می کنیم:
1 |
import tkinter |
اگر با خطایی مواجه نشدید به این معنا است که Tkinter دز دسترس است. اما اگر با خطایی مثل ماژول پیدا نشد (module not found) روبرو شدید به این معنی است که مفسر پایتون به درستی Tkinter را کامپایل نکرده است. برای برطرف کردن این مشکل پروژه را دوباره ایجاد کنید تا مفسر پایتون مجدد کامپایل شده و Tkinter در دسترس قرار بگیرد.
اضافه کردن Tk به برنامه ها
مراحل پایهایی راه اندازی یک GUI (برنامه رابط کاربری گرافیکی) در پایتون با استفاده از Tkinter به شرح زیر است:
- در ابتدا ماژول Tkinter را ایمپورت می کنیم. (در بالاتر توضیح داده شد)
- مرحله دوم ایجاد یک شی پنجره اصلی است (top-level windowing object) – همان پنجرهای که بقیه عناصر بر روی آن قرار میگیرند. این پنجره معادل همان فرم در ویندوز فرم سی شارپ است.
- در مرحله سوم، باید تمام کامپوننتهای رابط کاربری گرافیکی و عملکرد آنها را تنظیم کنید.
- سپس باید این اجزای رابط کاربری گرافیکی را به کدهای برنامه متصل کنید.
- سپس با استفاده از ()mainloop حلقه رویداد اصلی را وارد کنید.
مراحل بالا ممکن است گیج کننده به نظر برسند. برای درک بیشتر، در ادامه مثالی را آورده ایم تا دچار سردرگمی نشوید.
اولین مثال Tkinter
همانطور که قبلا ذکر شد، در برنامه نویسی GUI (رابط کاربری گرافیکی)، تمام ویجت های اصلی فقط بر روی شی پنجره اصلی ساخته می شوند. شی پنجره اصلی (top-level windowing object) توسط کلاس Tk در Tkinter ایجاد می شود. در ادامه به عنوان نمونه به ساخت یک پنجره اصلی میپردازیم:
1 2 3 4 5 6 |
import tkinter as tk ()win = tk.Tk ### در اینجا میتوانید ویجت خود را اضافه کنید ()win.mainloop |
متد های استفاده شده در Tkinter
دو روش اصلی هنگام ایجاد برنامه پایتون با استفاده از رابط کاربری گرافیکی وجود دارد. در ادامه به هر 2 روش را میپردازیم:
1- Tk(screenName=None, baseName=None, className=’Tk’, useTk=1)
این متد عمدتا برای ساخت پنجره اصلی استفاده میشود. همچنین می توانید نام پنجره را تغییر دهید، برای اینکار فقط لازم است تا مقدار className را به نام دلخواه تغییر دهید. همچنین میتوانید مانند مثال بالا یک شی تعریف کرده و نام پنجره اصلی را مشخص کنید.
1 |
()win = tkinter.Tk ## در اینجا win بیانگر نام شی پنجره اصلی است. |
2- تابع ()mainloop
این تابع برای شروع برنامه مورد استفاده قرار میگیرد. تابع ()mainloop یک حلقه بی نهایت است که برای اجرای برنامه استفاده می شود، این تابع منتظر رخداد رویداد میماند و این رخداد را تا زمانی که پنجره بسته نشده پردازش میکند و ادامه میدهد.
خلاصه
در این مقاله به صورت مختصر به تعریف Tkinter پرداختیم و متوجه شدیم که این کتابخانه پایتون چه کاربردی دارد. همچنین کتابخانه Tkinter را نصب کردیم، با مفهوم شی پنجره اصلی آشنا شدیم و اولین برنامه GUI را ساختیم و آنرا اجرا کردیم.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.