הפוך GUIs פשוטים עם פטל פטל באמצעות EasyGUI

הוספת ממשק המשתמש הגרפי (GUI) לפרוייקט Parspberry Pi שלך היא דרך מצוינת לכלול מסך להזנת נתונים, לחצנים על המסך עבור פקדים או אפילו רק דרך חכמה יותר להראות קריאות ממרכיבים כגון חיישנים.

01 מתוך 10

יצירת ממשק עבור הפרויקט שלך

EasyGUI הוא פרויקט מהיר ופשוט לנסות את סוף השבוע הזה. ריצ'רד סאוויל

ישנן מספר שיטות GUI שונים זמינים עבור פטל פטל, עם זאת, רובם יש עקומת למידה תלולה.

הממשק של Tkinter Python עשוי להיות ברירת המחדל 'עבור אל' האופציה עבור רוב, עם זאת, מתחילים יכולים להיאבק עם המורכבות שלה. באופן דומה, ספריית PyGame מציעה אפשרויות ליצירת ממשקים מרשימים, אך עשויה להיות עודף לדרישות.

אם אתה מחפש ממשק פשוט ומהיר עבור הפרויקט שלך, EasyGUI יכול להיות התשובה. מה זה חסר יופי גרפי זה יותר מפצה על הפשטות שלה וקלות השימוש.

מאמר זה ייתן לך מבוא לספרייה, כולל כמה מן האפשרויות היעילות ביותר שמצאנו.

02 מתוך 10

הורדה וייבוא ​​של EasyGUI

התקנה EasyGUI היא פשוטה עם השיטה 'apt-get install'. ריצ'רד סאוויל

עבור מאמר זה, אנו משתמשים במערכת ההפעלה הרגיל Raspbian אשר זמין כאן.

התקנת הספרייה תהיה תהליך מוכר לרוב, תוך שימוש בשיטה 'apt-get install'. אתה צריך חיבור לאינטרנט על פי שלך Raspberry, באמצעות או Ethernet קווית או חיבור WiFi.

פתח חלון מסוף (הסמל של מסך שחור בשורת המשימות של Pi) והזן את הפקודה הבאה:

apt-get להתקין python-easygui

פקודה זו תוריד את הספריה ותתקין אותה עבורך, וזה כל ההגדרות שאתה צריך לעשות.

03 מתוך 10

ייבוא ​​EasyGUI

ייבוא ​​EasyGUI לוקח רק שורה אחת. ריצ'רד סאוויל

EasyGUI צריך להיות מיובאים לתוך סקריפט לפני שתוכל להשתמש בפונקציות שלה. זה מושג על ידי הזנת שורה אחת בחלק העליון של הסקריפט שלך והוא זהה ללא קשר אילו אפשרויות ממשק EasyGUI אתה משתמש.

צור סקריפט חדש על-ידי הזנת הפקודה הבאה בחלון המסוף:

sudo nano

יופיע מסך ריק - זהו הקובץ הריק שלך (nano הוא פשוט שם של עורך טקסט). כדי לייבא EasyGUI לתוך הסקריפט שלך, הזן את השורה הבאה:

מ לייבא easygui *

אנו משתמשים בגירסה ספציפית זו של הייבוא ​​כדי לבצע קידוד אפילו מאוחר יותר. לדוגמה, בעת ייבוא ​​זה eway, במקום לכתוב 'easygui.msgbox' אנחנו יכולים פשוט להשתמש 'msgbox'.

עכשיו בואו לכסות כמה אפשרויות ממשק מפתח בתוך EasyGUI.

04 מתוך 10

תיבת הודעה בסיסית

תיבת הודעה פשוטה היא דרך מצוינת להתחיל עם EasyGUI. ריצ'רד סאוויל

תיבת הודעה זו, בצורתה הפשוטה ביותר, נותנת למשתמש שורת טקסט ולחץ על לחצן יחיד. הנה דוגמה לנסות - הזן את השורה הבאה לאחר קו הייבוא, ושמור באמצעות Ctrl + X:

msgbox ("תיבת Cool Cool?", "אני תיבת הודעה")

כדי להפעיל את הסקריפט, השתמש בפקודה הבאה:

sudo python

אתה אמור לראות את תיבת ההודעה מופיעה, עם 'אני תיבת הודעה' נכתב על הדף בר, ו 'Cool תיבת אה? " מעל הכפתור.

05 מתוך 10

המשך או בטל תיבה

תיבת המשך / ביטול יכולה להוסיף אישור לפרויקטים שלך. ריצ'רד סאוויל

לפעמים תזדקק למשתמש כדי לאשר פעולה או לבחור אם להמשיך. תיבת 'ccbox' מציעה את אותו שורת טקסט כמו תיבת ההודעה הבסיסית לעיל, אך מספקת 2 לחצנים - 'המשך' ו- 'ביטול'.

הנה דוגמה של אחד בשימוש, עם המשך ולחצני ביטול הדפסה אל הטרמינל. אתה יכול לשנות את הפעולה לאחר כל לחיצה על כפתור לעשות מה שאתה רוצה:

מ ייבוא ​​easygui * זמן לייבא msg = "האם אתה רוצה להמשיך?" title = "המשך?" אם ccbox (msg, title): # הצג תיבת דו-שיח המשך / ביטול הדפסה "משתמש שנבחר המשך" # הוסף פקודות אחרות כאן: # משתמש בחר ביטול הדפסה "User cancelled" # הוסף פקודות אחרות כאן

06 מתוך 10

תיבת תיבות מותאמת אישית

'Buttonbox' מאפשר לך ליצור אפשרויות לחצנים מותאמים אישית. ריצ'רד סאבל

אם האפשרויות מובנית תיבת לא ממש נותן לך מה שאתה צריך, אתה יכול ליצור תיבת כפתור מותאם אישית באמצעות התכונה 'buttonbox'.

זה נהדר אם יש לך אפשרויות נוספות כי צריך כיסוי, או אולי הם שולטים במספר נוריות או רכיבים אחרים עם ממשק המשתמש.

הנה דוגמה לבחירת רוטב להזמנה:

מ ייבוא ​​easygui * זמן לייבא msg = "איזה רוטב אתה רוצה?" [שלח תגובה] אם התשובה == "חם": הדפס תשובה אם התשובה == Msgstr ""

07 מתוך 10

תיבת בחירה

תיבת הבחירה היא מצוינת לרשימות ארוכות יותר של פריטים. ריצ'רד סאוויל

לחצנים הם נהדר, אבל עבור רשימות ארוכות של אפשרויות, "תיבת בחירה" עושה הרבה חוש. נסה להתאים 10 כפתורים בתיבה ואתה בקרוב מסכים!

תיבות אלה מפרטות את האפשרויות הזמינות בשורות בזו אחר זו, עם תיבת 'אישור' ו 'ביטול' בצד. הם חכמים למדי, למיין את האפשרויות לפי סדר אלפביתי וגם מאפשר לך ללחוץ על מקש כדי לקפוץ לאפשרות הראשונה של מכתב זה.

הנה דוגמה המציגה עשרה שמות, שאותם ניתן לראות במסך צילום.

מ לייבא easygui * לייבא הודעה msg = "מי נתן את הכלבים החוצה?" כותרת = "חסרים כלבים" הבחירות = ["אלכס", "חתול", "מייקל", "ג'יימס", "אלברט", "פיל", "יסמין", "פרנק", "טים", "חנה"] = תיבת בחירה (msg, title, options)

08 מתוך 10

תיבת הזנת נתונים

'Multenterbox' מאפשר לך ללכוד נתונים ממשתמשים. ריצ'רד סאוויל

טפסים הם דרך מצוינת ללכוד נתונים עבור הפרויקט שלך, ו- EasyGUI יש אפשרות 'multenterbox' המאפשר לך להציג שדות שכותרתו כדי ללכוד מידע.

שוב זה מקרה של תיוג שדות פשוט לכידת קלט. עשינו דוגמה להלן עבור טופס הצטרפות לחברות פשוטות מאוד.

ישנן אפשרויות להוסיף אימות ותכונות מתקדמות אחרות, אשר אתר האינטרנט EasyGUI מכסה בפירוט.

("שם פרטי", "שם משפחה", "שם משפחה", "משקל") fieldValues ​​= [] # ערכי התחלה fieldValues ​​= multenterbox (msg, title, fieldNames) print field

09 מתוך 10

הוספת תמונות

הוספת תמונות לתיבות שלך עבור דרך חדשה לגמרי להשתמש GUI. ריצ'רד סאוויל

אתה יכול להוסיף תמונות לממשקים EasyGUI שלך על ידי הוספת כמות קטנה מאוד של קוד.

שמור תמונה על פי שלך Raspberry באותה ספרייה כמו סקריפט EasyGUI שלך ולעשות הערה של שם הקובץ והרחבה (לדוגמה, image1.png).

נשתמש בתיבה הלחצן כדוגמה:

מ ייבוא ​​easygui * ייבוא ​​זמן תמונה = "RaspberryPi.jpg" msg = "האם זה פטל פטל?" [= "כן", "כן": הדפס "כן" אחר: הדפס "לא"

10 מתוך 10

תכונות מתקדמות יותר

אתה לא יכול לעשות מערכות תשלום עם EasyGUI, אבל אתה יכול להיות כיף להעמיד פנים !. ריצ'רד סאוויל

אנחנו מכוסים הראשי "בסיסי" אפשרויות EasyGUI כאן כדי להתחיל, עם זאת, יש הרבה יותר אפשרויות תיבת ודוגמאות זמין בהתאם כמה אתה רוצה ללמוד, ומה הפרויקט שלך דורש.

תיבות סיסמה, תיבות קוד, ואפילו תיבות קבצים זמינים שם כמה. זה ספריה מאוד צדדי זה קל להרים בתוך דקות, עם כמה אפשרויות שליטה רבה בחומרה גם כן.

אם תרצה ללמוד כיצד לקודד דברים אחרים כגון Java, HTML או יותר, הנה משאבי הקידוד המקוונים הטובים ביותר הזמינים.