הוספת ממשק המשתמש הגרפי (GUI) לפרוייקט Parspberry Pi שלך היא דרך מצוינת לכלול מסך להזנת נתונים, לחצנים על המסך עבור פקדים או אפילו רק דרך חכמה יותר להראות קריאות ממרכיבים כגון חיישנים.
01 מתוך 10
יצירת ממשק עבור הפרויקט שלך
ישנן מספר שיטות GUI שונים זמינים עבור פטל פטל, עם זאת, רובם יש עקומת למידה תלולה.
הממשק של Tkinter Python עשוי להיות ברירת המחדל 'עבור אל' האופציה עבור רוב, עם זאת, מתחילים יכולים להיאבק עם המורכבות שלה. באופן דומה, ספריית PyGame מציעה אפשרויות ליצירת ממשקים מרשימים, אך עשויה להיות עודף לדרישות.
אם אתה מחפש ממשק פשוט ומהיר עבור הפרויקט שלך, EasyGUI יכול להיות התשובה. מה זה חסר יופי גרפי זה יותר מפצה על הפשטות שלה וקלות השימוש.
מאמר זה ייתן לך מבוא לספרייה, כולל כמה מן האפשרויות היעילות ביותר שמצאנו.
02 מתוך 10
הורדה וייבוא של EasyGUI
עבור מאמר זה, אנו משתמשים במערכת ההפעלה הרגיל Raspbian אשר זמין כאן.
התקנת הספרייה תהיה תהליך מוכר לרוב, תוך שימוש בשיטה 'apt-get install'. אתה צריך חיבור לאינטרנט על פי שלך Raspberry, באמצעות או Ethernet קווית או חיבור WiFi.
פתח חלון מסוף (הסמל של מסך שחור בשורת המשימות של Pi) והזן את הפקודה הבאה:
apt-get להתקין python-easyguiפקודה זו תוריד את הספריה ותתקין אותה עבורך, וזה כל ההגדרות שאתה צריך לעשות.
03 מתוך 10
ייבוא EasyGUI
EasyGUI צריך להיות מיובאים לתוך סקריפט לפני שתוכל להשתמש בפונקציות שלה. זה מושג על ידי הזנת שורה אחת בחלק העליון של הסקריפט שלך והוא זהה ללא קשר אילו אפשרויות ממשק EasyGUI אתה משתמש.
צור סקריפט חדש על-ידי הזנת הפקודה הבאה בחלון המסוף:
sudo nanoיופיע מסך ריק - זהו הקובץ הריק שלך (nano הוא פשוט שם של עורך טקסט). כדי לייבא EasyGUI לתוך הסקריפט שלך, הזן את השורה הבאה:
מ לייבא easygui *אנו משתמשים בגירסה ספציפית זו של הייבוא כדי לבצע קידוד אפילו מאוחר יותר. לדוגמה, בעת ייבוא זה eway, במקום לכתוב 'easygui.msgbox' אנחנו יכולים פשוט להשתמש 'msgbox'.
עכשיו בואו לכסות כמה אפשרויות ממשק מפתח בתוך EasyGUI.
04 מתוך 10
תיבת הודעה בסיסית
תיבת הודעה זו, בצורתה הפשוטה ביותר, נותנת למשתמש שורת טקסט ולחץ על לחצן יחיד. הנה דוגמה לנסות - הזן את השורה הבאה לאחר קו הייבוא, ושמור באמצעות Ctrl + X:
msgbox ("תיבת Cool Cool?", "אני תיבת הודעה")כדי להפעיל את הסקריפט, השתמש בפקודה הבאה:
sudo pythonאתה אמור לראות את תיבת ההודעה מופיעה, עם 'אני תיבת הודעה' נכתב על הדף בר, ו 'Cool תיבת אה? " מעל הכפתור.
05 מתוך 10
המשך או בטל תיבה
לפעמים תזדקק למשתמש כדי לאשר פעולה או לבחור אם להמשיך. תיבת 'ccbox' מציעה את אותו שורת טקסט כמו תיבת ההודעה הבסיסית לעיל, אך מספקת 2 לחצנים - 'המשך' ו- 'ביטול'.
הנה דוגמה של אחד בשימוש, עם המשך ולחצני ביטול הדפסה אל הטרמינל. אתה יכול לשנות את הפעולה לאחר כל לחיצה על כפתור לעשות מה שאתה רוצה:
מ ייבוא easygui * זמן לייבא msg = "האם אתה רוצה להמשיך?" title = "המשך?" אם ccbox (msg, title): # הצג תיבת דו-שיח המשך / ביטול הדפסה "משתמש שנבחר המשך" # הוסף פקודות אחרות כאן: # משתמש בחר ביטול הדפסה "User cancelled" # הוסף פקודות אחרות כאן06 מתוך 10
תיבת תיבות מותאמת אישית
אם האפשרויות מובנית תיבת לא ממש נותן לך מה שאתה צריך, אתה יכול ליצור תיבת כפתור מותאם אישית באמצעות התכונה 'buttonbox'.
זה נהדר אם יש לך אפשרויות נוספות כי צריך כיסוי, או אולי הם שולטים במספר נוריות או רכיבים אחרים עם ממשק המשתמש.
הנה דוגמה לבחירת רוטב להזמנה:
מ ייבוא easygui * זמן לייבא msg = "איזה רוטב אתה רוצה?" [שלח תגובה] אם התשובה == "חם": הדפס תשובה אם התשובה == Msgstr ""07 מתוך 10
תיבת בחירה
לחצנים הם נהדר, אבל עבור רשימות ארוכות של אפשרויות, "תיבת בחירה" עושה הרבה חוש. נסה להתאים 10 כפתורים בתיבה ואתה בקרוב מסכים!
תיבות אלה מפרטות את האפשרויות הזמינות בשורות בזו אחר זו, עם תיבת 'אישור' ו 'ביטול' בצד. הם חכמים למדי, למיין את האפשרויות לפי סדר אלפביתי וגם מאפשר לך ללחוץ על מקש כדי לקפוץ לאפשרות הראשונה של מכתב זה.
הנה דוגמה המציגה עשרה שמות, שאותם ניתן לראות במסך צילום.
מ לייבא easygui * לייבא הודעה msg = "מי נתן את הכלבים החוצה?" כותרת = "חסרים כלבים" הבחירות = ["אלכס", "חתול", "מייקל", "ג'יימס", "אלברט", "פיל", "יסמין", "פרנק", "טים", "חנה"] = תיבת בחירה (msg, title, options)08 מתוך 10
תיבת הזנת נתונים
טפסים הם דרך מצוינת ללכוד נתונים עבור הפרויקט שלך, ו- EasyGUI יש אפשרות 'multenterbox' המאפשר לך להציג שדות שכותרתו כדי ללכוד מידע.
שוב זה מקרה של תיוג שדות פשוט לכידת קלט. עשינו דוגמה להלן עבור טופס הצטרפות לחברות פשוטות מאוד.
ישנן אפשרויות להוסיף אימות ותכונות מתקדמות אחרות, אשר אתר האינטרנט EasyGUI מכסה בפירוט.
("שם פרטי", "שם משפחה", "שם משפחה", "משקל") fieldValues = [] # ערכי התחלה fieldValues = multenterbox (msg, title, fieldNames) print field09 מתוך 10
הוספת תמונות
אתה יכול להוסיף תמונות לממשקים EasyGUI שלך על ידי הוספת כמות קטנה מאוד של קוד.
שמור תמונה על פי שלך Raspberry באותה ספרייה כמו סקריפט EasyGUI שלך ולעשות הערה של שם הקובץ והרחבה (לדוגמה, image1.png).
נשתמש בתיבה הלחצן כדוגמה:
מ ייבוא easygui * ייבוא זמן תמונה = "RaspberryPi.jpg" msg = "האם זה פטל פטל?" [= "כן", "כן": הדפס "כן" אחר: הדפס "לא"10 מתוך 10
תכונות מתקדמות יותר
אנחנו מכוסים הראשי "בסיסי" אפשרויות EasyGUI כאן כדי להתחיל, עם זאת, יש הרבה יותר אפשרויות תיבת ודוגמאות זמין בהתאם כמה אתה רוצה ללמוד, ומה הפרויקט שלך דורש.
תיבות סיסמה, תיבות קוד, ואפילו תיבות קבצים זמינים שם כמה. זה ספריה מאוד צדדי זה קל להרים בתוך דקות, עם כמה אפשרויות שליטה רבה בחומרה גם כן.
אם תרצה ללמוד כיצד לקודד דברים אחרים כגון Java, HTML או יותר, הנה משאבי הקידוד המקוונים הטובים ביותר הזמינים.