أمثلة بايثون تكنتر

Amthlt Baythwn Tkntr



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

قم بتثبيت وحدة Tkinter

وحدة tkinter غير مثبتة على Python بشكل افتراضي. لذلك، عليك تشغيل الأمر التالي لتثبيت وحدة tkinter في إصدار Python 3+:







$ sudo ملائم ثَبَّتَ python3-tk



أدوات Tkinter المختلفة

تحتوي وحدة tkinter على عناصر واجهة مستخدم متنوعة لأغراض مختلفة.







اسم التطبيق المصغر غاية
ملصق يتم استخدامه لعرض رسالة المساعدة للمستخدم.
زر يتم استخدامه لإضافة أزرار مختلفة في التطبيق.
إطار إنه يعمل مثل حاوية عناصر واجهة المستخدم التي تحتوي على أنواع مختلفة من عناصر واجهة المستخدم لتصميم نموذج منظم.
دخول يتم استخدامه لأخذ نص من سطر واحد من المستخدم.
زر الاختيار يتم استخدامه لإضافة أزرار مربع الاختيار لأخذ مدخلات متعددة من المستخدم من خيارات متعددة.
زر الراديو يتم استخدامه لإضافة أزرار الاختيار لأخذ إدخال واحد من المستخدم من خيارات متعددة.
زر التحرير والسرد يتم استخدامه لإضافة قائمة منسدلة لأخذ إدخال واحد من المستخدم من خيارات متعددة.
ListBox يتم استخدامه لإضافة مربع قائمة لأخذ مدخلات متعددة من المستخدم من خيارات متعددة.
نص يتم استخدامه لأخذ نص متعدد الأسطر من المستخدم.
رسالة يتم استخدامه لعرض نافذة الرسالة للمستخدم.
شريط التمرير يتم استخدامه لإضافة شريط تمرير في النافذة لتمرير النافذة لأعلى ولأسفل.
زر القائمة يتم استخدامه لعرض القائمة للمستخدم.
قائمة طعام يتم استخدامه لعرض عناصر القائمة للمستخدم.
PanedWindow إنه يعمل مثل حاوية عناصر واجهة المستخدم التي تحتوي على الأجزاء الأفقية والرأسية.
نوافذ التبويب يتم استخدامه لإضافة نافذة علامة تبويب في التطبيق.

أمثلة مختلفة على Tkinter

يتم عرض استخدامات بعض عناصر واجهة مستخدم tkinter الشائعة في الأمثلة التالية.

المثال 1: إنشاء تطبيق واجهة المستخدم الرسومية البسيط

قم بإنشاء ملف Python بالمحتوى التالي الذي يعرض مربع حوار في منتصف الشاشة بعنوان والارتفاع والعرض المحددين:



# استيراد الوحدة الضرورية
من استيراد tkinter *

# إنشاء كائن للنافذة
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'تعلم وحدة tkinter' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '300x150' )

# اضبط موضع عرض النافذة مركزيًا
tkobj.eval ( 'tk::PlaceWindow . مركز' )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي. يتم عرض مربع حوار بعنوان 'تعلم وحدة tkinter':

مثال 2: استخدام التسمية والزر

قم بإنشاء ملف Python باستخدام البرنامج النصي التالي الذي يعرض نافذة بها تسمية ومربع حوار:

# استيراد الوحدة الضرورية
من استيراد tkinter *

#إنشاء كائن للنافذة
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'تعلم وحدة tkinter' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '400x150' )

# تحديد كائن التسمية
lbl = Label ( tkobj, نص = 'إنها نافذة بسيطة' )
#إضافة تسمية إلى النافذة
lbl.pack ( ipadx = 30 , ايباد = عشرين )

# تحديد كائن الزر
btn = زر ( tkobj, نص = 'انقر فوق لي' )
#إضافة زر إلى النافذة مع الموضع
btn.pack ( ipadx = 30 , ايباد = 10 )

# اضبط موضع عرض النافذة مركزيًا
tkobj.eval ( 'tk::PlaceWindow . مركز' )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

تظهر نافذة بها تسمية وزر في وسط الشاشة بعد تنفيذ البرنامج النصي.

المثال 3: تعيين لون الخط ولون الخلفية

قم بإنشاء ملف Python باستخدام البرنامج النصي التالي الذي يعرض نافذة بها تسمية وزر ملون. هنا، يتم استخدام سمة الخلفية لتعيين لون خلفية الزر ويتم استخدام سمة المقدمة لتعيين لون خط الزر:

# استيراد الوحدة الضرورية
من استيراد tkinter *

#إنشاء كائن للنافذة
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'تعلم وحدة tkinter' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '400×150' )

# تحديد كائن التسمية
lbl = Label ( tkobj, نص = 'تعيين الخلفية ولون المقدمة' )
#إضافة تسمية إلى النافذة
lbl.pack ( ipadx = 30 , ايباد = عشرين )

#Define كائن الزر مع لون الخلفية والمقدمة
btn = زر ( tkobj, نص = 'انقر فوق لي' , خلفية = 'أزرق' , المقدمة = 'أحمر' )
#إضافة زر إلى النافذة مع الموضع
btn.pack ( ipadx = 30 , ايباد = 8 )

# اضبط موضع عرض النافذة مركزيًا
tkobj.eval ( 'tk::PlaceWindow . مركز' )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

تظهر النافذة التالية بعد تنفيذ البرنامج النصي:

مثال 4: استخدام الإطار

في برنامج Python النصي التالي، يتم عرض تسمية وزرين داخل عنصر واجهة مستخدم الإطار. قم بإنشاء ملف Python باستخدام البرنامج النصي للتحقق من الإخراج:

# استيراد الوحدة الضرورية
من استيراد tkinter *

#إنشاء كائن للنافذة
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'وحدة تكنتر' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '250x100' )

# تحديد كائنات الإطار
frm = الإطار ( tkobj )
frm.pack ( )
lframe = الإطار ( tkobj )
lframe.pack ( جانب = اليسار )
rframe = الإطار ( tkobj )
rframe.pack ( جانب = صحيح )

# تحديد التسمية داخل الإطار
lbl = Label ( آر إم, نص = 'استخدام الإطار' , fg = 'أزرق' )
lbl.pack ( )

#Define الأزرار الموجودة داخل الإطار
btn1 = زر ( إطار, نص = '' , fg = 'أسود' , بغ = 'أبيض' )
btn2.pack ( جانب = صحيح )

# اضبط موضع عرض النافذة مركزيًا
tkobj.eval ( 'tk::PlaceWindow . مركز' )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

يظهر الإخراج التالي بعد تنفيذ البرنامج النصي:

المثال 5: التعامل مع حدث الزر

يظهر استخدام مربع الرسالة في البرنامج النصي التالي. يتم عرض مربع الرسالة عند النقر فوق الزر:

# استيراد الوحدات الضرورية
من استيراد tkinter *
من صندوق رسائل الاستيراد tkinter

#إنشاء كائن للنافذة
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'تعلم وحدة tkinter' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '400×150' )

# تحديد وظيفة لعرض مربع الرسالة
عرض مواطنه ( ) :
messagebox.showinfo ( 'معلومة' , 'تم النقر على الزر.' )

# أنشئ نص تسمية بلون الخط ونمطه وموضعه
ملصق ( tkobj, نص = 'تطبيق سطح المكتب باستخدام tkinter.' , fg = 'أخضر' ) .علية ( حقول الأرز = 25 )

#إنشاء زر باستخدام معالج الزر
زر ( tkobj, نص = 'اظهر الرسالة' , يأمر =display ) .علية ( )

# اضبط موضع عرض النافذة مركزيًا
tkobj.eval ( 'tk::PlaceWindow . مركز' )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

تظهر النافذة التالية بعد تنفيذ البرنامج النصي:

تظهر مربع الرسالة التالية بعد الضغط على الزر:

مثال 6: أخذ مدخلات من المستخدم

تتوفر عناصر واجهة مستخدم متعددة في وحدة tkinter لأخذ مدخلات من المستخدم. يتم عرض استخدامات الأدوات الأكثر شيوعًا في البرنامج النصي التالي. قم بإنشاء ملف Python بالرمز التالي للتحقق من الإخراج:

# استيراد الوحدات الضرورية
من استيراد tkinter *
من tkinter.ttk قم باستيراد Combobox
من tkinter استيراد ttk
import tkinter مثل تك
من صندوق رسائل الاستيراد tkinter

#إنشاء كائن tkinter
tkobj = Tk ( )

# قم بتعيين عنوان النافذة
tkobj.title ( 'نموذج معلومات المستخدم' )

#ضبط ارتفاع وعرض النافذة
tkobj.geometry ( '550x320' )

#Define دالة لعرض قيم النموذج
قم بتعريف قيم العرض ( ) :
# قراءة نص من سطر واحد
الاسم = 'اسم : ' + name_val.get ( ) + ' '
#اقرأ قيمة زر الاختيار المحدد
لو sex.get ( ) == 1 :
ز = 'ذكر'
آخر:
ز = 'أنثى'
ز = 'جنس : ' + ز + ' '

# اقرأ قيم خانة الاختيار المحددة
لعبة = ''
لو g1.get ( ) == 1 :
لعبة = 'كريكيت'
لو g2.get ( ) == 1 :
لو لعبة ! = '' :
لعبة += '،' + 'كرة القدم'
آخر:
لعبة = 'كرة القدم'
لو g3.get ( ) == 1 :
لو لعبة ! = '' :
لعبة += '،' + 'كرة سلة'
آخر:
لعبة = 'كرة سلة'
لعبة = 'لعبة : ' + لعبة + ' '

#اقرأ قيم combobox
البلد = 'دولة : ' + CountryVal.get ( ) + ' '
# اقرأ النص متعدد الأسطر
العنوان = 'عنوان : ' +adr.get ( '1.0' , 'نهاية' ) + ' '
# دمج جميع القيم التي اتخذتها الحقول
form_values ​​= الاسم + g + اللعبة + البلد + العنوان
# عرض القيم في مربع الرسالة
messagebox.showinfo ( 'تفاصيل معلومات المستخدم' قيم_النموذج )


# أنشئ تسمية وحقل الاسم
ملصق ( tkobj, نص = 'اسم : ' ) .مكان ( س = 100 , و = عشرين )
name_val = StringVar ( )
ttk.Entry ( tkobj, textvariable =name_val ) .علية ( بادكس = 220 , حقول الأرز = عشرين )

# أنشئ تسمية وزر الاختيار
ملصق ( tkobj, نص = 'جنس : ' ) .مكان ( س = 100 , و = 60 )
الجنس = IntVar ( )
sex.set ( 1 )
زر الراديو ( tkobj, نص = 'ذكر' , عامل = الجنس، قيمة = 1 ) .مكان ( س = 210 , و = 60 )
زر الراديو ( tkobj, نص = 'أنثى' , عامل = الجنس، قيمة = 2 ) .مكان ( س = 290 , و = 60 )

# إنشاء تسمية وزر مربع الاختيار
ملصق ( tkobj, نص = 'لعبه مفضله : ' ) .مكان ( س = 100 , و = 100 )
g1 = إنتفار ( )
g2 = IntVar ( )
g3 = IntVar ( )
زر الاختيار ( tkobj, نص = 'كريكيت' , عامل =g1 ) .مكان ( س = 210 , و = 100 )
زر الاختيار ( tkobj, نص = 'كرة القدم' , عامل =g2 ) .مكان ( س = 290 , و = 100 )
زر الاختيار ( tkobj, نص = 'كرة سلة' , عامل =g3 ) .مكان ( س = 380 , و = 100 )

# تحديد قيم الصف
البيانات = ( 'بنغلاديش' , 'اليابان' , 'الولايات المتحدة الأمريكية' )
# إنشاء التسمية ومربع التحرير والسرد
ملصق ( tkobj, نص = 'دولة : ' ) .مكان ( س = 100 , و = 140 )
CountryVal = StringVar ( )
صندوق التحرير ( tkobj, قيم = البيانات، textvariable =countryVal ) .مكان ( س = 220 , و = 140 )

# إنشاء تسمية وحقل النص
ملصق ( tkobj, نص = 'عنوان : ' ) .مكان ( س = 100 , و = 180 )
العنوان = ( tk.Text ( tkobj, ارتفاع = 3 , عرض = عشرين ) )
addr.place ( س = 220 , و = 180 )

#إنشاء زر باستخدام معالج الزر
زر ( tkobj, نص = 'يُقدِّم' , يأمر =display_values ) .مكان ( س = 250 , و = 250 )

# قم بتشغيل Tkinter
tkobj.mainloop ( )

انتاج:

تظهر النافذة التالية بعد تنفيذ البرنامج النصي:

املأ حقول النموذج واضغط على زر 'إرسال'.

سيظهر مربع الرسالة التالي بالقيم المرسلة:

خاتمة

يتم عرض طرق استخدام وحدة Python tkinter لإنشاء تطبيقات واجهة المستخدم الرسومية في هذا البرنامج التعليمي باستخدام أمثلة متعددة.