بيثون - برمجة واجهة المستخدم الرسومية (Tkinter) Python - GUI Programming (Tkinter)

 بيثون - برمجة واجهة المستخدم الرسومية (Tkinter)

 

ما هو او هي Python - GUI Programming (Tkinter)

Tkinter  ببساطة هي الواجهة الرسومية للمستخدم في لغة البرمجة بايثون مثلها مثل واجهة المستخدم الرسومية ويندوز في لغات البرمجة التي تأتي مع فيجوال استوديو، إذا أردت بناء تطبيقات ذات نوافذ او واجهة رسومية GUI حتى يتفاعل معها المستخدم في بايثون فعندها يحب أن تتعلم كيفية استخدام مكتبة Tkinter التي تحتوي على الأدوات والاكواد البرمجة مسبقا لتطوير واجهات المستخدمة في بايثون هناك عدة مكتبات برمجية تساعد في تطوير برامج ذات واجهة رسومية في بايثون إليك أشهر ٣ مكتبات رسومية GUI
توفر Python خيارات مختلفة لتطوير واجهات المستخدم الرسومية (GUIs). الأكثر أهمية مدرجة أدناه.
  • Tkinter −

 Tkinter هو واجهة Python لمجموعة أدوات Tk GUI التي يتم شحنها مع Python. سوف ننظر هذا الخيار في هذا الفصل.
  • wxPython − 

هذا هو واجهة بيثون مفتوحة المصدر ل wxWindows http://wxpython.org.
  • JPython −

إن JPython هو منفذ Python لـ Java والذي يمنح نصوص Python وصولاً سهلاً إلى مكتبات فئة Java على الجهاز المحلي http://www.jython.org.
 هناك العديد من الواجهات الأخرى المتاحة ، والتي يمكنك العثور عليها على الشبكة. 

كيفية برمجيات واجهات مستخدم رسومية في بايثون Tkinter Programming

Tkinter هي مكتبة واجهة المستخدم الرسومية القياسية لبيثون. يوفر Python عند دمجه مع Tkinter طريقة سريعة وسهلة لإنشاء تطبيقات واجهة المستخدم الرسومية. يوفر Tkinter واجهة قوية ذات منحي لمجموعة الأدوات Tk GUI.
 إنشاء تطبيق واجهة المستخدم الرسومية باستخدام Tkinter هو مهمة سهلة. كل ما عليك القيام به هو تنفيذ الخطوات التالية -
  •  استيراد وحدة Tkinter.
 قم بإنشاء النافذة الرئيسية لتطبيق واجهة المستخدم الرسومية.
 إضافة واحد أو أكثر من الحاجيات المذكورة أعلاه إلى تطبيق واجهة المستخدم الرسومية.
 أدخل حلقة الحدث الرئيسية لاتخاذ إجراء ضد كل حدث يتم تشغيله بواسطة المستخدم.

مثال على استخدام Tkinter في بايثون Example

#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
هذا من شأنه أن ينشيء النافذة التالية او الواجهة -
مثال على استخدام Tkinter في بايثون Example

ما هي أدوات Tkinter Widgets

يوفر Tkinter عناصر تحكم متنوعة ، مثل الأزرار والملصقات ومربعات النص المستخدمة في تطبيق واجهة المستخدم الرسومية. وتسمى هذه Widgets او بما يعرف بالادوات الرسومية.
 هناك حاليا 15 نوعا من الأدوات الرسومية في Tkinter. نقدم هذه الحاجيات وكذلك وصفا موجزا في الجدول التالي -
الرقم.المشغل والوصف
1Button
يتم استخدام عنصر واجهة المستخدم لعرض الأزرار في التطبيق الخاص بك.
2Canvas
يتم استخدام عنصر واجهة مستخدم Canvas لرسم الأشكال ، مثل الخطوط والأشكال البيضاوية والمضلعات والمستطيلات ، في تطبيقك.
3Checkbutton
يتم استخدام عنصر واجهة مستخدم Checkbutton لعرض عدد من الخيارات كمربعات اختيار. يمكن للمستخدم تحديد خيارات متعددة في وقت واحد.
4Entry
يتم استخدام عنصر واجهة المستخدم Entry لعرض حقل نص مفرد الأسطر لقبول القيم من المستخدم.
5Frame
يتم استخدام عنصر واجهة تعامل الإطار كعنصر واجهة حاوية لتنظيم عناصر واجهة تعامل أخرى.
6Label
يتم استخدام عنصر واجهة التعامل Label لتقديم تسمية توضيحية ذات سطر واحد للأدوات الذكية الأخرى. يمكن أن تحتوي أيضًا على صور.
7Listbox
يتم استخدام عنصر واجهة مستخدم Listbox لتوفير قائمة بالخيارات للمستخدم.
8Menubutton
يتم استخدام القطعة Menubutton لعرض القوائم في التطبيق الخاص بك.
9Menu
يتم استخدام عنصر واجهة مستخدم Menu لتوفير العديد من الأوامر للمستخدم. وترد هذه الأوامر داخل Menubutton.
10Message
يتم استخدام عنصر واجهة تعامل الرسائل لعرض مجالات النص متعددة الأسطر لقبول القيم من المستخدم.
11Radiobutton
يتم استخدام عنصر واجهة المستخدم Radiobutton لعرض عدد من الخيارات كأزرار راديو. يمكن للمستخدم تحديد خيار واحد فقط في وقت واحد.
12Scale
يتم استخدام الأداة Scale لتوفير عنصر واجهة مستخدم منزلق.
13Scrollbar
يتم استخدام عنصر واجهة Scrollbar لإضافة إمكانية التمرير إلى عناصر واجهة مستخدم متعددة ، مثل مربعات القائمة.
14Text
يتم استخدام عنصر واجهة تعامل النص لعرض النص في أسطر متعددة.
15Toplevel
يتم استخدام عنصر واجهة تعامل Toplevel لتوفير حاوية نافذة منفصلة.
16Spinbox
عنصر واجهة المستخدم Spinbox هو متغير من عنصر واجهة المستخدم Tkinter القياسي ، والذي يمكن استخدامه لتحديد من عدد ثابت من القيم.
17PanedWindow
PanedWindow هي أداة حاوية قد تحتوي على أي عدد من الأجزاء ، مرتبة أفقياً أو رأسياً.
18LabelFrame
و labelframe هو القطعة حاوية بسيطة. الغرض الأساسي منه هو العمل كفاصل أو حاوية لتخطيطات النوافذ المعقدة.
19tkMessageBox
تستخدم هذه الوحدة لعرض مربعات الرسائل في تطبيقاتك.

Standard attributes ماهي الصفات القياسية في Tkinter 

مثل الأدوات في فيجوال استديو او لغة برمجية ذات واجهة مستخدم رسومية تشترك جميعا بنفس الخصائص او الصفات ولكن تختلف في كيفية الوصول إليها وبعضها قد اتشارك في التسمية. 
دعونا نلقي نظرة على كيفية تحديد بعض سماتها الشائعة. مثل الأحجام والألوان والخطوط.
  • Dimensions
  • Colors
  • Fonts
  • Anchors
  • Relief styles
  • Bitmaps
  • Cursors
دعنا ندرسهم لفترة وجيزة -

Geometry Management مدير الجيومتري 

تتمتع جميع عناصر واجهة استخدام Tkinter بالوصول إلى أساليب إدارة هندسية محددة ، والتي تهدف إلى تنظيم عناصر الواجهة التي تتعامل مع  المستخدم. بمعنى اي أداة عندما توضع في نافذة او form كما هو في الفيجوال استديو فيجب تحديد موقع هذه الأداة ويتم تخديدها وفقا للاحداثيات x و y اي موقعها بالنسبة لخط الطول والعرض ويتم ذلك بتقسم الواجهة على شبكة تسمى grid ان الذي يقوم بهذا يسمى geometry في Tkinter 

في مدير Tkinter توجد هذه الفئات الهندسة التالية: الحزمة ، الشبكة  والمكان.
  • The pack() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة المستخدم في كتل blocks قبل وضعها في عنصر واجهة التعامل الرئيسية ( اي واجهة المستخدم او النافذة). 

  • The grid() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة التي تتعامل مع  المستخدم في هيكل يشبه الجدول في عنصر واجهة التعامل الأصلي.(اي على شبكة توضعها عليها الأدوات) 

  • The place() Method − 

يقوم مدير الهندسة هذا بتنظيم عناصر واجهة تعامل المستخدم من خلال وضعها في موضع محدد في عنصر واجهة التعامل الأصلي.
 دعونا دراسة أساليب إدارة الهندسة لفترة وجيزة -