اصنع واجهات رسومية بسيطة باستخدام Raspberry Pi باستخدام EasyGUI
إضافة واجهة مستخدم رسومية (واجهة المستخدم الرسومية) لك فطيرة التوت يُعد المشروع طريقة رائعة لتضمين شاشة لإدخال البيانات أو أزرار على الشاشة لعناصر التحكم أو طريقة أكثر ذكاءً لعرض قراءات من مكونات مثل المستشعرات.
تستخدم هذه المقالة نظام التشغيل القياسي Raspbian.
اصنع واجهة لمشروعك
تتوفر العديد من طرق واجهة المستخدم الرسومية لـ Raspberry Pi. ومع ذلك ، فإن معظمهم لديهم منحنى تعليمي حاد.
قد تكون واجهة Tkinter Python هي الخيار الافتراضي لمعظم الأشخاص ، ولكن يمكن للمبتدئين أن يواجهوا صعوبة في تعقيدها. وبالمثل ، توفر مكتبة PyGame إمكانيات لإنشاء واجهات رائعة ولكنها قد تكون فائضة عن المتطلبات.
إذا كنت تبحث عن واجهة سريعة ومباشرة لمشروعك ، فقد يكون EasyGUI هو الحل. ما يفتقر إليه الجمال الرسومي ، يعوضه أكثر من بساطته وسهولة استخدامه.

تقدم هذه المقالة مقدمة عن المكتبة ، بما في ذلك بعض الخيارات المفيدة التي وجدناها.
تنزيل واستيراد EasyGUI
سيكون تثبيت المكتبة مألوفًا إذا استخدمت طريقة apt-get install. تحتاج إلى اتصال بالإنترنت على Raspberry Pi الخاص بك ، باستخدام إما شبكة سلكية إيثرنت أو واي فاي الإتصال.
يقوم هذا الأمر بتنزيل المكتبة وتثبيتها لك. هذا كل ما عليك القيام به.
-
افتح نافذة طرفية (أيقونة شاشة سوداء على شريط مهام Pi) وأدخل الأمر التالي:
من استيراد easygui *
وقت الاستيرادهذا الإصدار من الاستيراد يجعل الترميز أسهل في وقت لاحق. على سبيل المثال ، عند الاستيراد بهذه الطريقة ، بدلاً من الكتابة easygui.msgbox، يمكنك استخدام msgbox.
-
في أبسط أشكاله ، هذا صندوق الرسائل يعطي سطرًا من النص وزرًا واحدًا للنقر. هنا مثال للتجربة. أدخل السطر التالي بعد سطر الاستيراد ، واحفظ باستخدام كنترول+X:
من استيراد easygui *
وقت الاستيراد
msg = "صندوق التبريد ، هاه؟"
العنوان = "أنا صندوق رسائل"
# أضف أوامر أخرى هنايظهر مربع رسالة مع أنا صندوق الرسائل مكتوبًا في الشريط العلوي ، و صندوق بارد ، أليس كذلك؟ فوق الزر.
-
ستحتاج أحيانًا من المستخدم لتأكيد إجراء ما أو اختيار الاستمرار. يقدم مربع ccbox نفس سطر النص مثل مربع الرسالة الأساسي أعلاه ولكنه يوفر زرين: يكمل و يلغي.
إليك مثال على أحدها قيد الاستخدام ، مع طباعة أزرار المتابعة والإلغاء على الجهاز. يمكنك تغيير الإجراء بعد الضغط على كل زر للقيام بما تريد:
من استيراد easygui *
وقت الاستيراد
msg = "هل ترغب في المتابعة؟"
title = "متابعة؟"
if ccbox (msg، title): # إظهار مربع حوار متابعة / إلغاء
طباعة "متابعة المستخدم المحدد"
# أضف أوامر أخرى هنا
آخر: اختار # مستخدم "إلغاء الأمر"
طباعة "تم إلغاء المستخدم"
# أضف أوامر أخرى هنا -
إذا لم توفر لك خيارات الصندوق المدمج ما تحتاج إليه ، فقم بإنشاء مربع زر مخصص باستخدام ملف بوتن بوكس خاصية. يعد هذا أمرًا رائعًا إذا كان لديك المزيد من الخيارات التي تحتاج إلى تغطية أو ربما تتحكم في عدد من مصابيح LED أو مكونات أخرى باستخدام واجهة المستخدم.
فيما يلي مثال على اختيار الصلصة لطلب:
من استيراد easygui *
وقت الاستيراد msg = "ما هي الصلصة التي تفضلها؟"
الخيارات = ["معتدل" ، "ساخن" ، "أكثر إثارة"]
الرد = buttonbox (msg، options = options) إذا كان الرد == "Mild":
الرد المطبوع
في حالة الرد == "ساخن":
الرد المطبوع
في حالة الرد == "Extra Hot":
الرد المطبوع -
الأزرار رائعة ، ولكن لقوائم الخيارات الطويلة ، أ مربع الاختيار من المنطقي. تسرد هذه المربعات الخيارات المتاحة في صفوف ، واحدة تلو الأخرى. ان نعم و يلغي المربع هو الجانب. هذه ذكية بشكل معقول ، حيث تقوم بفرز الخيارات أبجديًا وتسمح لك أيضًا بالضغط على مفتاح للانتقال إلى الخيار الأول من هذا الحرف.
إليك مثال يوضح عشرة أسماء ، والتي يمكنك رؤيتها وقد تم فرزها في لقطة الشاشة.
من استيراد easygui *
وقت الاستيراد
msg = "من أطلق الكلاب؟"
العنوان = "الكلاب المفقودة"
الخيارات = ["أليكس" ، "كات" ، "مايكل" ، "جيمس" ، "ألبرت" ، "فيل" ، "ياسمين" ، "فرانك" ، "تيم" ، "هانا"]
الاختيار = مربع الاختيار (الرسالة ، العنوان ، الاختيارات) -
النماذج هي طريقة رائعة لالتقاط البيانات لمشروعك. يحتوي EasyGUI على امتداد multenterbox الخيار الذي يسمح لك بإظهار الحقول المصنفة للحصول على معلومات.
إنها حالة تسمية الحقول والتقاط المدخلات. المثال أدناه هو نموذج بسيط للاشتراك في عضوية الصالة الرياضية.
هناك خيارات لإضافة التحقق من الصحة والميزات المتقدمة الأخرى ، والتي يغطيها موقع EasyGUI بالتفصيل.
من استيراد easygui *
وقت الاستيراد
msg = "معلومات العضو"
title = "نموذج عضوية صالة الألعاب الرياضية"
fieldNames = ["الاسم الأول" ، "اللقب" ، "العمر" ، "الوزن"]
fieldValues = [] # قيم البداية
fieldValues = multenterbox (الرسالة ، العنوان ، أسماء الحقول)
طباعة الحقل القيم -
يمكنك إضافة صور إلى واجهات EasyGUI الخاصة بك عن طريق تضمين الحد الأدنى من التعليمات البرمجية. احفظ صورة في Raspberry Pi في نفس الدليل مثل البرنامج النصي EasyGUI الخاص بك وقم بتدوين اسم الملف وامتداده (على سبيل المثال ، image1.png).
استخدام مربع الزر كمثال:
من استيراد easygui *
وقت الاستيراد
صورة = "RaspberryPi.jpg"
msg = "هل هذا Raspberry Pi؟"
الخيارات = ["نعم" ، "لا"]
رد = صندوق أزرار (رسالة ، صورة = صورة ، خيارات = اختيارات)
في حالة الرد == "نعم":
طباعة "نعم"
آخر:
طباعة "لا"
المزيد من الميزات المتقدمة
هناك المزيد من خيارات الصندوق والأمثلة المتاحة بناءً على مقدار ما تريد أن تتعلمه وما يتطلبه مشروعك.

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