סרגל התקדמות Tkinter

Srgl Htqdmwt Tkinter



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

בואו נתחיל בתצורה של ספריית Tkinter של Python. לאחר ההשקה המוצלחת של המסוף, נסה את השאילתה הבאה כדי להגדיר את חבילת Tkinter. ודא שכבר מותקן Python לפני השימוש בהוראה זו.

$ sudo apt להתקין את python3-tk







דוגמה 1

נתחיל עם הדוגמה הראשונה שלנו של Python לשימוש במודול Tkinter כדי ליצור סרגל התקדמות נחרץ ב-GUI שלו. לפיכך, יצרנו קובץ Python חדש בשם 'new.py' והוספנו את הקוד הבא. התחלנו את הקוד הזה על ידי ייבוא ​​כל אובייקטי הילד מספריית Tkinter של Python בשורה הראשונה. לאחר מכן, ייבאנו את אובייקט המחלקה 'ttk' מהמודול Tkinter בשורת הקוד השנייה.



הבנאי המחלקה Tk() נקרא ושמר את האובייקט שלו במשתנה 't'. הפונקציה 'כותרת' הושגה עם משתנה האובייקט 't' כדי ליצור כותרת עבור ה-GUI. הגודל של חלון GUI Tkinter הוגדר ל-'300×200' באמצעות הפונקציה geometry(). סרגל ההתקדמות ייווצר על ידי פונקציה 'Pbar()' המוגדרת על ידי משתמש. אנו נסתכל על פונקציה זו בחלק האחרון של מאמר זה.



יצרנו משתנה 'p' ב-8 ה' שורה של קוד Python זה שמשתמש בפונקציה Progressbar() דרך אובייקט המחלקה 'ttk' כדי ליצור סרגל התקדמות במסך ה-GUI. האובייקט 't' הועבר אליו בזמן שהכיוון שלו נקבע לאופקי, אורכו מוגדר ל-400, והמצב שלו מוגדר, כלומר, הוא ינוע בכיוון מסוים בלבד. ריפוד ציר 'y' הוגדר ל-30 על ידי שימוש בפונקציית 'pack()' עבור סרגל התקדמות זה.





לאחר מכן, יצרנו כפתור חדש 'b' על ידי שימוש בפונקציה Button() והעברנו לו את האובייקט 't', קצת טקסט והפקודה שתתבצע לאחר לחיצה על הכפתור, כלומר, פונקציה שנקראת הפונקציה 'Pbar'. הפונקציה Pbar() תגדיל את הערך של סרגל ההתקדמות 'p' בעשר ותחזור למשתנה 'b'. ריפוד ציר ה-'y' של הכפתור הוגדר ל-'10' באמצעות הפונקציה pack() והפונקציה mainloop() כאן כדי להוציא את כל הביצוע בלולאה.



לאחר השלמת קוד Python, שמרנו אותו והפעלנו אותו בקונסולה באמצעות השאילתה 'python3' ואחריה שם הקובץ 'new.py':

$ python3 new.py

היא השיקה את ה-Tkinter GUI של Python עם הכותרת 'סרגל התקדמות' על מסך הקונסולה שלנו. בתמונה הבאה, יש רק סרגל התקדמות ללא עיבוד. תחילה עליך ללחוץ על הכפתור.

לאחר הקשה על הכפתור, 'הקש כאן!', סרגל ההתקדמות הכחול הוצג באופן הבא:

לאחר שלוש לחיצות רצופות, קיבלנו את ההתקדמות הבאה ללא תנועה:

לאחר שהגענו לסוף סרגל ההתקדמות, לא נוכל להמשיך הלאה, כלומר, לקבוע את סרגל ההתקדמות.

דוגמה 2

בואו נסתכל על יצירת סרגל התקדמות בלתי מוגדר שיכול לנוע אחורה וקדימה בתוך אזור ההתקדמות באמצעות מודול ה-Tkinter GUI Python. אז, התחלנו את קוד Python על ידי ייבוא ​​מודול Tkinter כ'tk' ואובייקט ttk מהמחלקה 'ttk'. אובייקט tk הוסר כדי לקבל את תוצאת הבנאי 'Tk()' ונשמר במשתנה 't'.



המשתנה 't' שימש עם הפונקציה title() כדי להוסיף כותרת עבור GUI לצד הפונקציה geometry() כדי לקבוע את הגודל של חלון GUI שיוצג. הפונקציה grid() נקראה עם המשתנה 't' כדי לארגן את ה-GUI בפורמט טבלאי.

לאחר מכן, השתמשנו במשתנה 'p' כדי ליצור סרגל התקדמות באמצעות הפונקציה Progressbar() של אובייקט המחלקה ttk עם אותו משתנה 't', כיוון אופקי, 300 אורכים והמצב הבלתי מוגדר. סרגל ההתקדמות אורגן בצורה טבלאית באמצעות הפונקציה 'grid()' שהשתמשה בריפוד הספציפי עבור ציר 'x' ו-'y'. יצרנו שני כפתורים, 's' ו- 'e', לתחילת התנועה של סרגל ההתקדמות, סיומו והזזתו קדימה ואחורה.







הפרמטר הדביק של הפונקציה grid() עבור שני הכפתורים מגדיר את הכיוון, כלומר מזרח ומערב. הפקודות, 'התחל' ו'עצור', הוגדרו עבור שני הלחצנים ב-9 ה' ו-11 ה' קַו. עם ביצוע הפונקציה mainloop(), התוכנית שלנו הושלמה ומוכנה לשימוש לאחר שמירתה.





ההוצאה להורג התבצעה בדרך דומה.





$ python3 new.py

ב-GUI שהושק, הוצג המסך הבא:



לאחר לחיצה על כפתור 'הקש כדי להתחיל', סרגל ההתקדמות החל לנוע קדימה.

לאחר שהגיע לסוף, הוא נע בכיוון ההפוך, כלומר מערב.

לאחר שתסיים להקיש על כפתור 'הקש כדי לעצור', סרגל ההתקדמות הוגדר שוב במיקום ההתחלתי.

סיכום

מאמר זה הראה את השימוש בסרגל ההתקדמות ב-Tkinter GUI. פשוט השתמשנו באובייקטים של מחלקת Tkinter כדי לקרוא לווידג'טים שונים כדי להפוך את ה-Python GUI לאינטראקטיבי יותר. דנו בשימוש בפסי התקדמות נחושים ובלתי מוגדרים בדוגמאות שלנו. אנו מקווים שתהנה ליישם את אלה.