تعد إضافة واجهة مستخدم رسومية (GUI) إلى مشروع Raspberry Pi طريقة رائعة لتضمين شاشة لإدخال البيانات ، أو أزرار على الشاشة للتحكم أو حتى طريقة أكثر ذكاءً لإظهار قراءات من مكونات مثل أجهزة الاستشعار.
01 من 10جعل واجهة لمشروعك
هناك عدد من طرق GUI المختلفة المتاحة لـ Raspberry Pi ، ومع ذلك ، فإن معظمها يحتوي على منحنى تعلم حاد.
قد تكون واجهة Tkinter Python هي الخيار "go-to" الافتراضي لمعظم ، ومع ذلك ، يمكن للمبتدئين النضال مع تعقيدها. وبالمثل ، تقدم مكتبة PyGame خيارات لعمل واجهات مثيرة للإعجاب ولكنها قد تكون فائضة للمتطلبات.
إذا كنت تبحث عن واجهة بسيطة وسريعة لمشروعك ، فقد يكون EasyGUI هو الحل. ما تفتقده في الجمال الرسومي أكثر من يعوض في بساطته وسهولة الاستخدام.
ستقدم لك هذه المقالة مقدمة إلى المكتبة ، بما في ذلك بعض أكثر الخيارات المفيدة التي وجدناها.
مواصلة القراءة أدناه
02 من 10تحميل واستيراد EasyGUI
بالنسبة لهذه المقالة ، نحن نستخدم نظام التشغيل Raspbian القياسي.
سيكون تثبيت المكتبة عملية مألوفة بالنسبة لمعظم المستخدمين ، باستخدام طريقة "apt-get install". ستحتاج إلى اتصال بالإنترنت على جهاز Raspberry Pi باستخدام إما اتصال Ethernet أو اتصال WiFi سلكي.
افتح نافذة طرفية (أيقونة شاشة سوداء على شريط المهام الخاص بشركة Pi) وأدخل الأمر التالي:
apt-get install python-easygui
سيقوم هذا الأمر بتنزيل المكتبة وتثبيتها نيابةً عنك ، وهذا هو الإعداد الذي تحتاج إلى القيام به. مواصلة القراءة أدناه تحتاج EasyGUI إلى استيرادها إلى برنامج نصي قبل أن تتمكن من استخدام وظائفها. يتم تحقيق ذلك عن طريق إدخال سطر واحد في الجزء العلوي من النص الخاص بك وهو نفس بغض النظر عن خيارات واجهة EasyGUI التي تستخدمها. قم بإنشاء برنامج نصي جديد عن طريق إدخال الأمر التالي في نافذة طرفك: sudo نانو easygui.py
ستظهر شاشة فارغة - هذا هو ملفك الفارغ (نانو هو ببساطة اسم محرر النص). لاستيراد برنامج EasyGUI إلى البرنامج النصي ، أدخل السطر التالي: من استيراد easygui *
نستخدم هذا الإصدار المحدد من الاستيراد لجعل التشفير أسهل في وقت لاحق. على سبيل المثال ، عند استيراد هذا eway ، بدلاً من الحاجة إلى كتابة "easygui.msgbox" يمكننا ببساطة استخدام "msgbox". الآن دعونا نغطي بعض خيارات الواجهة الرئيسية في EasyGUI. هذا "صندوق الرسائل" ، في أبسط صوره ، يمنح المستخدم سطرًا من النص وزرًا منفردًا للنقر عليه. في ما يلي مثال لمحاولة - أدخل السطر التالي بعد سطر الاستيراد ، وحفظه باستخدام السيطرة + X: msgbox ("Cool box huh؟"، "I am a Message Box")
لتشغيل البرنامج النصي ، استخدم الأمر التالي: sudo python easygui.py
سترى مربع رسالة تظهر ، مع أنا صندوق الرسائل مكتوب في الشريط العلوي ، و مربع بارد هاه؟ فوق الزر. مواصلة القراءة أدناه ستحتاج في بعض الأحيان إلى المستخدم لتأكيد إجراء ما أو اختيار ما إذا كنت تريد المتابعة أم لا. يوفر مربع "ccbox" نفس سطر النص مثل مربع الرسالة الأساسي أعلاه ، ولكنه يوفر زرين - استمر و إلغاء. في ما يلي مثال للاستخدام قيد الاستخدام ، مع طباعة الأزرار متابعة وإلغاء إلى المحطة الطرفية. يمكنك تغيير الإجراء بعد الضغط على كل زر لفعل ما تشاء: من استيراد easygui *وقت الاستيرادmsg = "هل تريد المتابعة؟"title = "هل تريد المتابعة؟"إذا كان ccbox (msg، title): # سيظهر مربع حوار متابعة / إلغاء طباعة "المستخدم المحدد متابعة" # أضف أوامر أخرى هنا آخر: اختار # المستخدم إلغاء طباعة "تم إلغاء المستخدم" # أضف أوامر أخرى هنا 06 من 10 إذا لم توفر لك خيارات المربع المدمج ما تحتاج إليه ، فيمكنك إنشاء مربع زر مخصص باستخدام ميزة "buttonbox". هذا أمر رائع إذا كان لديك المزيد من الخيارات التي تحتاج إلى تغطية ، أو ربما تتحكم في عدد من مؤشرات LED أو المكونات الأخرى مع واجهة المستخدم. إليك مثال على اختيار الصلصة لأمر: من استيراد easygui *import time msg = "ما هي الصلصة التي تفضلها؟"options = "Mild"، "Hot"، "Extra Hot"الرد = buttonbox (msg ، options = options) في حالة الرد == "Mild": طباعة الردإذا كان الرد == "حار": طباعة الردإذا كان الرد == "إضافي حار": طباعة الرد
مواصلة القراءة أدناه الأزرار رائعة ، ولكن بالنسبة لقوائم طويلة من الخيارات ، فإن "صندوق الاختيار" يجعل الأمر منطقيًا. جرّب تركيب 10 أزرار في مربع وستتوافق قريبًا! تسرد هذه المربعات الخيارات المتاحة في صفوف واحدة تلو الأخرى ، مع مربع "موافق" و "إلغاء" إلى الجانب. إنهم أذكياء إلى حد معقول ، حيث يقومون بفرز الخيارات أبجديًا ، كما يسمحون لك بالضغط على مفتاح للانتقال إلى الخيار الأول من ذلك الحرف. في ما يلي مثال على عرض عشرة أسماء ، والتي يمكنك رؤيتها في لقطة الشاشة. من استيراد easygui *وقت الاستيرادmsg = "من الذي ترك الكلاب خارجا؟"title = "Missing Dogs"اختيارات = "أليكس" ، "كات" ، "مايكل" ، "جيمس" ، "ألبرت" ، "فيل" ، "ياسمين" ، "فرانك" ، "تيم" ، "هانا"choice = choicebox (msg، title، choices) 08 من 10 تعتبر النماذج طريقة رائعة لالتقاط البيانات لمشروعك ، و EasyGUI لديه خيار "multenterbox" والذي يسمح لك بإظهار الحقول المصنفة لالتقاط المعلومات باستخدام. مرة أخرى ، هناك حالة من حقول وضع العلامات والتقاط المدخلات ببساطة. لقد قدمنا مثالاً أدناه للحصول على استمارة اشتراك عضوية بسيطة في صالة الألعاب الرياضية. هناك خيارات لإضافة التحقق من الصحة والميزات المتقدمة الأخرى ، والتي يغطي موقع EasyGUI بالتفصيل. من استيراد easygui *وقت الاستيرادmsg = "معلومات العضو"title = "نموذج عضوية الجيم"fieldNames = "الاسم الأول" ، "اللقب" ، "العمر" ، "الوزن"fieldValues = # قيم البدءfieldValues = multenterbox (msg، title، fieldNames)حقل الطباعة القيم مواصلة القراءة أدناه يمكنك إضافة الصور إلى واجهات EasyGUI الخاصة بك عن طريق تضمين كمية صغيرة جدًا من التعليمات البرمجية. قم بحفظ صورة إلى Raspberry Pi في نفس الدليل مثل برنامج EasyGUI النصي وقم بتدوين اسم الملف وإضافته (على سبيل المثال ، image1.png ). لنستخدم مربع الزر كمثال: من استيراد easygui *وقت الاستيرادimage = "RaspberryPi.jpg"msg = "Is this a Raspberry Pi؟"options = "Yes"، "No"الرد = زر buttonbox (msg، image = image، options = choices)إذا كان الرد == "نعم": طباعة "نعم"آخر: طباعة "لا" 10 من 10 لقد قمنا بتغطية خيارات EasyGUI الرئيسية "الأساسية" هنا للبدء ، ومع ذلك ، هناك الكثير من خيارات الصندوق والأمثلة المتاحة بناءً على المبلغ الذي ترغب في تعلمه ، وما يتطلبه مشروعك. مربعات كلمة المرور ، مربعات الرموز ، وحتى مربعات ملف متوفرة على سبيل المثال لا الحصر. إنها مكتبة متعددة الاستخدامات يسهل التقاطها خلال دقائق ، مع بعض إمكانيات التحكم في الأجهزة الرائعة أيضًا. إذا كنت ترغب في معرفة كيفية ترميز أشياء أخرى مثل Java أو HTML أو أكثر ، يمكنك مشاهدة أفضل موارد التشفير عبر الإنترنت المتاحة. استيراد EasyGUI
مربع الرسالة الأساسية
متابعة أو إلغاء مربع
مربع زر مخصص
صندوق الاختيار
صندوق إدخال البيانات
إضافة الصور
المزيد من الميزات المتقدمة