مشخصات مقاله
-
4657
-
0.0
-
17083
-
0
-
0
برنامه نویسی GUI با Python
ساخت و توسعه ی لایه ی UI اپلیکیشن با زبان پایتون – برنامه نویسی GUI با Python
پایتون امکانات متعددی برای ساخت و توسعه ی GUI یا لایه رابط کاربری اپلیکیشن ارائه می دهد که در زیر به پرکاربردترین و کاراترین آن ها اشاره می کنیم:
- Tkinter: به طور پیش فرض به همراه ویرایش های متعارف زبان پایتون در اختیار برنامه نویس قرار می گیرد که رابط یا interface شی گرا جهت استفاده از ابزار tk در بستر محیط پایتون فراهم می آورد. در مبحث حاضر نیز از این ابزار برای توسعه ی لایه UI اپلیکیشن بهره خواهیم گرفت.
- wxPython: عبارت است از یک سری ابزار طراحی و توسعه لایه ی UI اپلیکیشن که برای پایتون عرضه می شود. این ابزار به برنامه نویس اجازه می دهد تا برنامه های قدرتمند، کارا با رابط کاربری بسیار کارامد را به راحتی طراحی کرده و توسعه دهد. این ابزار به صورت یک ماژول یا افزونه پیاده سازی شده که کتابخانه ی پرطرفدار wxWidgets را در خود کپسوله سازی می کند (wrap). کتابخانه ی مزبور بسیار پرکاربرد بوده، با محیط های مختلف سازگار می باشد(cross-platform) و با زبان چند منظوره ی C++ نوشته شده است.
- JPython: یک درگاه پایتون برای جاوا است که برنامه ها یا اسکریپت های پایتون می توانند به واسطه ی آن، به راحتی به کتابخانه ها و کلاس های (class library) جاوا در دستگاه محلی و میزبان خود دسترسی داشته باشند.
کتابخانه ی Tkinter
Tkinter کتابخانه ای است که برنامه نویس از آن جهت توسعه و برنامه نویسی لایه ی UI اپلیکیشن استفاده می کند. در واقع زمانی که پایتون با Tkinter ترکیب می شود، کار برنامه نویس در طراحی و برنامه نویسی رابط گرافیکی کاربر بسیار آسان شده و به سرعت قابل پیاده سازی می باشد.
Tkinter کتابخانه ی GUI یک رابط شی گرای کارا برای مجموعه ابزار برنامه نویسی Tk GUI فراهم می سازد.
طراحی یک اپلیکیشن GUI با استفاده از Tkinter امر بسیار آسانی می باشد. کافی است مراحل زیر را طی نمایید:
- ابتدا ماژول Tkinter را با استفاده از دستور import وارد نمایید.
- پنجره ی اصلی اپلیکیشن GUI را ایجاد نمایید.
- یک یا چند ابزارک رابط کاربری (widget) به آن اضافه نمایید.
- event loop (حلقه ی اصلی و کنترل کننده ی روند کلی اجرای برنامه) را پیاده سازی نمایید. این حلقه به event هایی که کاربر آن ها را فعال می کند، پاسخ داده و آن ها را مدیریت می کند.
#!/usr/bin/python import tkinter top = tkinter.Tk() # Code to add widgets will go here... top.mainloop()
خروجی کد را در زیر مشاهده می کنید:
ویدجت ها و ابزارک های رابط کاربری Tkinter
Tkinter چندین کنترل رابط کاربری همچون button، label و text box ارائه می دهد که برنامه نویس به واسطه ی آن لایه ی UI اپلیکیشن را طراحی و توسعه می دهد. به این کنترل ها در اصطلاح Widget یا ابزارک رابط کاربری گفته می شود.
در حال حاضر حدود 15 widget در Tkinter کپسوله شده است. در جدول ذیل تمامی این widget ها را به همراه شرح کاربرد مشاهده می کنید:
Attribute ها و ویژگی های متعارف کنترل های رابط کاربری
در زیر برخی از attribute های مهم کنترل های رابط کاربری که با مقداردهی آن ها می توانید ویژگی هایی نظیر اندازه، رنگ و فونت المان ها را تنظیم نمایید، مشاهده می کنید:
- Dimensions
- Colors
- Fonts
- Anchors
- Relief styles
- Bitmaps
- Cursors
مدیریت هندسه و چیدمان المان ها
تمامی widget های Tkinter به متدهای geometry (مدیریت چیدمان المان ها) دسترسی دارند. این متدها قادر هستند که ابزارک های رابط کاربری را داخل ناحیه ی میزبان سازمان دهی کرده و چدیمان آن ها را مدیریت کند. Tkinter کلاس های زیر را جهت مدیریت چیدمان المان ها در دسترس قرار می دهد. این کلاس ها به شرح زیر می باشند: pack، grid و place.
- متد ()pack – تابع حاضر المان های رابط کاربری را به صورت خانه هایی داخل یک بلوک در کنار هم جای می دهد و سپس آن ها را داخل کنترل رابط کاربری پدر (parent widget) سازمان دهی می کند.
- متد ()grid – تابع جاری ابزارک های رابط کاربری را در ساختاری جدول مانند و به طور سطر و ستون چیده و سپس آن ها را داخل المان والد سازمان دهی می کند.
- متد ()place – تابع جاری ابزارک ها را با جایگذاری آن ها در موقعیت خاص داخل المان پدر، سازمان دهی می کند.