تكينتر هي مكتبة قياسية لتطوير واجهة المستخدم الرسومية في بيثون. يوفر العديد من الأدوات والأدوات لإنشاء التطبيقات باستخدام واجهة مستخدم رسومية (واجهة المستخدم الرسومية). واحدة من ميزات تكينتر هي معالجة أحداث لوحة المفاتيح. يسمح هذا للمبرمجين بالرد على ضغطات المفاتيح وتنفيذ إجراءات معينة اعتمادا على المفاتيح التي يتم الضغط عليها.
لمعالجة ضغطات المفاتيح ، يستخدم تكينتر طريقة ربط ، والذي يسمح لك لربط وظيفة معينة مع حدث معين. في حالة المفاتيح ، يمكننا ربط وظيفة بحدث" الضغط على المفتاح "أو" تحرير المفتاح". داخل هذه الوظيفة ، يمكنك تحديد الإجراء الذي يجب تنفيذه عند الضغط على مفتاح أو تحريره.
على سبيل المثال ، يمكننا ربط وظيفة بحدث الضغط على مفتاح "إدخال" وتنفيذ بعض الإجراءات ، على سبيل المثال ، عرض رسالة على الشاشة.
يمكنك أيضا ربط الأحداث بكائنات محددة ، مثل حقل إدخال نص أو نافذة تطبيق. هذا يسمح للمبرمج بالتحكم في الإجراءات التي يجب أن تتم عند العمل مع عناصر واجهة معينة.
- ضربات المفاتيح في بيثون: استخدام مكتبة تكينتر
- تثبيت تكينتر وإنشاء نافذة
- ربط المفاتيح بوظيفة
- معالجة ضغطات المفاتيح باستخدام مكتبة تكينتر
- معالجة المفاتيح الخاصة
ضربات المفاتيح في بيثون: استخدام مكتبة تكينتر
في لغة برمجة بايثون ، من الممكن تتبع ضغطات المفاتيح على لوحة المفاتيح. هذا مفيد بشكل خاص عند تطوير واجهات رسومية وإنشاء تطبيقات تفاعلية.
يمكنك استخدام مكتبة تكينتر للتعامل مع الأحداث ضغطة في بيثون. تكينتر هي مكتبة رسومية تسمح لك بإنشاء النوافذ والأزرار وحقول النص وعناصر الواجهة الأخرى.
لمعالجة ضربات المفاتيح باستخدام تكينتر ، تحتاج إلى إضافة معالج الحدث الذي سيتم استدعاؤه في كل مرة يتم الضغط على مفتاح. هنا مثال بسيط يوضح هذا:
من استيراد تكينتر *def key_pressed(event):
print(event.keysym)
root = Tk()
frame = Frame(root, width=300, height=200)
frame.bind("", key_pressed)
- frame.focus_set()
- frame.pack()
В этом примере мы создаем окно с помощью Tkinter и привязываем обработчик событий «key_pressed» к событию «KeyPress». عندما يضغط المستخدم على مفتاح على لوحة المفاتيح ، سيتم استدعاء وظيفة "مفتاح الضغط" ، والتي تعرض رمز المفتاح المضغوط على الشاشة.
وبالتالي ، فإن استخدام مكتبة تكينتر في بايثون يجعل من السهل تتبع ضغطات المفاتيح على لوحة المفاتيح وتنفيذ إجراءات معينة اعتمادا على الأحداث.
تثبيت تكينتر وإنشاء نافذة. هذا المثال هو النافذة الجذرية للبرنامج. يتم عرض هذه النافذة على الشاشة وتوفر الحاوية الرئيسية لجميع عناصر الواجهة الأخرى.
مثال على إنشاء نافذة:
من استيراد تكينتر *الجذر = المعارف التقليدية()
الجذر.مينلوب()
السطر الأول يستورد كل شيء من وحدة تكينتر. ثم مثيل
من فئة المعارف التقليدية
يتم إنشاء وتعيين
إلى متغير الجذر
. بعد ذلك
، تسمى طريقة الحلقة الرئيسية ()
، والتي تبدأ حلقة حدث لا نهاية لها ، مما يسمح بعرض النافذة والتفاعل مع المستخدم.
يمكنك الجمع بين هذين السطرين من التعليمات البرمجية في واحد:
من استيراد تكينتر *
المعارف التقليدية ().مينلوب()
الآن لديك نافذة فارغة يمكن تخصيصها ومليئة بعناصر واجهة مختلفة مثل الأزرار والتسميات وحقول الإدخال والمزيد.
ربط المفاتيح بوظيفة
عندما نقوم بتطوير تطبيق في بيثون باستخدام مكتبة تكينتر ، يمكننا ربط مفاتيح معينة على لوحة المفاتيح مع أداء وظائف معينة. هذا يسمح لنا بإدارة التطبيق والرد على إجراءات المستخدم.
لربط مفاتيح إلى وظيفة في تكينتر ، ونحن نستخدم طريقة ربط () من كائن القطعة. تأخذ طريقة الربط () وسيطتين-حدث ووظيفة نريد تنفيذها عند حدوث هذا الحدث.
لربط المفاتيح بوظيفة ، نحتاج أولا إلى تحديد الوظيفة التي سيتم تنفيذها عند الضغط على مفتاح معين. ثم علينا استدعاء طريقة الربط () للقطعة المطلوبة وتمريرها الحدث (على سبيل المثال،') والوظيفة التي حددناها.
على سبيل المثال ، إذا أردنا ربط الضغط على مفتاح" إدخال " بوظيفة معالجة ، فيمكننا القيام بما يلي:
"'بايثون
من استيراد تكينتر *
ديف مقبض كيبريس (الحدث):
| # كود المعالجة الخاص بك | هو الجذر = المعارف التقليدية() |
|---|---|
# إنشاء القطعة التي نريد ربط المفتاح | القطعة = زر (الجذر ، النص= "اضغط على 'أدخل'" ، الأمر = لا شيء) |
# ربط الضغط على مفتاح 'أدخل' إلى وظيفة المعالجة | القطعة.ربط ("،مقبض الضغط) |
يمكننا أيضا ربط مفاتيح متعددة بوظيفة واحدة ، أو العكس ، مفتاح واحد بوظائف متعددة. للقيام بذلك ، نحتاج فقط إلى تكرار استدعاء طريقة الربط () بمفاتيح أو وظائف مختلفة. | يمكن أن يكون ربط المفاتيح بوظيفة مفيدا جدا لأنه يسمح لنا بإنشاء تطبيقات تفاعلية تستجيب لإجراءات المستخدم وتوفر واجهة أكثر سهولة في الاستخدام. |
معالجة ضغطات المفاتيح باستخدام مكتبة تكينتر
لمعالجة ضربات المفاتيح ، يستخدم تكينتر معالج الحدث الخاص الذي يربط إلى القطعة التي يجب أن تتم المعالجة. يتم تشغيل المعالج في كل مرة يضغط فيها المستخدم على مفتاح على لوحة المفاتيح.
| مثال على معالجة ضغطات المفاتيح في تكينتر: | كود |
|---|---|
الوصف | من استيراد تكينتر * |
مفتاح مواطن_صحافة (حدث): | طباعة ("مفتاح الضغط:" ، الحدث.شار) |
الجذر.ربط ("،مفتاح الضغط) | الجذر.مينلوب() |
قم بإنشاء نافذة جذر ، واربط معالج الحدث الرئيسي بحدث ضغط المفاتيح وابدأ حلقة الحدث.
في هذا المثال ، يتم إنشاء نافذة التطبيق الرئيسية ، والتي تتفاعل مع الضغط على أي مفتاح. في كل مرة تضغط فيها ، يتم استدعاء وظيفة الضغط على المفتاح ، والتي تخرج رمز المفتاح المضغوط.
خيار آخر هو ربط المعالج بمفتاح معين:
كود
الوصف
| من استيراد تكينتر * | استيراد محتويات وحدة تكينتر. |
|---|---|
مفتاح مواطن_صحافة (حدث): | طباعة ("يتم الضغط على مفتاح") |
تحديد وظيفة معالج الأحداث الرئيسية ، والتي تستجيب فقط للضغط على المفتاح. | الجذر = المعارف التقليدية() |
الجذر.ربط ('أ' ، مفتاح_صحاف_أ) | الجذر.مينلوب() |
قم بإنشاء نافذة جذر ، واربط معالج الأحداث الرئيسي بحدث ضغط المفاتيح وابدأ حلقة الحدث. | في هذا المثال ، يتم استدعاء دالة مفتاح الضغط فقط عند الضغط على المفتاح" أ". إذا كنت بحاجة إلى معالجة عدة مفاتيح ، فيمكنك ربط معالج بكل منها. |
يوفر تكينتر أيضا القدرة على التعامل مع الافراج عن مفتاح باستخدام الحدث.‘ للقيام بذلك ، يتم استخدام طريقة الربط بنفس طريقة ربط المعالج بحدث ضغط المفاتيح. | وهكذا ، فإن مكتبة تكينتر يجعل من السهل التعامل مع ضربات المفاتيح لوحة المفاتيح في بيثون ، واستخدام معالجات الأحداث المختلفة ، والاستجابة لمفاتيح محددة. |
معالجة المفاتيح الخاصة | مكتبة تكينتر يسمح لك لمعالجة ليس فقط الأحرف العادية ، ولكن أيضا مفاتيح لوحة المفاتيح الخاصة. وهنا لائحة من بعض المفاتيح الخاصة التي يمكن التعامل معها: |
المفتاح | الوصف |
العودة | مفتاح العودة / كسر الخط. |
مسافة للخلف | المفتاح لحذف الحرف أمام المؤشر. |
يحذف | مفتاح حذف الحرف بعد المؤشر. |
علامة التبويب | مفتاح التبويب. |
التحول | مفتاح التحول. |
مفتاح الهروب.
فوقمفتاح السهم الأيسر.
صحيح