דוגמאות של Python Tkinter

Dwgm Wt Sl Python Tkinter



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

התקן את מודול Tkinter

מודול tkinter אינו מותקן ב- Python כברירת מחדל. לכן, עליך להפעיל את הפקודה הבאה כדי להתקין את מודול tkinter בגרסת Python 3+:







$ סודו מַתְאִים להתקין python3-tk



ווידג'טים שונים של Tkinter

מודול tkinter מכיל ווידג'טים שונים למטרות שונות.







שם יישומון מַטָרָה
תווית הוא משמש להצגת הודעת העזרה עבור המשתמש.
לַחְצָן הוא משמש להוספת כפתורים שונים באפליקציה.
מִסגֶרֶת זה עובד כמו מיכל ווידג'טים שמכיל סוגים שונים של ווידג'טים לעיצוב טופס מאורגן.
כְּנִיסָה הוא משמש להוצאת טקסט בשורה אחת מהמשתמש.
כפתור סימון הוא משמש להוספת כפתורי תיבת הסימון כדי לקחת קלט מרובים מהמשתמש ממספר אפשרויות.
כפתור רדיו הוא משמש להוספת לחצני הבחירה כדי לקחת קלט בודד מהמשתמש ממספר אפשרויות.
כפתור Combobox הוא משמש להוספת רשימה נפתחת כדי לקחת קלט בודד מהמשתמש ממספר אפשרויות.
קופסת רשימה הוא משמש להוספת תיבת רשימה כדי לקחת קלט מרובים מהמשתמש ממספר אפשרויות.
טֶקסט הוא משמש להוצאת טקסט מרובה שורות מהמשתמש.
הוֹדָעָה הוא משמש להצגת חלון ההודעות עבור המשתמש.
בר גלילה הוא משמש להוספת פס גלילה בחלון כדי לגלול את החלון למעלה ולמטה.
כפתור תפריט הוא משמש להצגת התפריט למשתמש.
תַפרִיט הוא משמש להצגת פריטי התפריט למשתמש.
PanedWindow זה עובד כמו מיכל ווידג'ט שמכיל את החלוניות האופקיות והאנכיות.
כרטיסיות הוא משמש להוספת חלון לשונית באפליקציה.

דוגמאות שונות של Tkinter

השימושים של כמה ווידג'טים של tkinter נפוצים מוצגים בדוגמאות הבאות.

דוגמה 1: צור יישום GUI פשוט

צור קובץ Python עם התוכן הבא המציג תיבת דו-שיח במרכז המסך עם כותרת וגובה ורוחב מסוימים:



#ייבוא ​​מודול הכרחי
מ-tkinter import *

#צור אובייקט עבור החלון
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'למד את מודול tkinter' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '300x150' )

#הגדר את מיקום התצוגה של החלון במרכז
tkobj.eval ( 'tk::PlaceWindow . מֶרְכָּז' )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

הפלט הבא מופיע לאחר ביצוע הסקריפט. תיבת דו-שיח עם הכותרת 'Learn tkinter module' מוצגת:

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

צור קובץ Python עם הסקריפט הבא המציג חלון עם תווית ותיבת דו-שיח:

#ייבוא ​​מודול הכרחי
מ-tkinter import *

#צור אובייקט עבור החלון
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'למד את מודול tkinter' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '400x150' )

#Define label object
lbl = תווית ( tkobj, טֶקסט = 'זה חלון פשוט' )
#הוסף תווית לחלון
lbl.pack ( ipadx = 30 , אייפד = עשרים )

#הגדר אובייקט לחצן
btn = לחצן ( tkobj, טֶקסט = 'לחץ עלי' )
#לחצן הוסף לחלון עם המיקום
btn.pack ( ipadx = 30 , אייפד = 10 )

#הגדר את מיקום התצוגה של החלון במרכז
tkobj.eval ( 'tk::PlaceWindow . מֶרְכָּז' )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

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

דוגמה 3: הגדר את צבע הגופן וצבע הרקע

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

#ייבוא ​​מודול הכרחי
מ-tkinter import *

#צור אובייקט עבור החלון
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'למד את מודול tkinter' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '400x150' )

#Define label object
lbl = תווית ( tkobj, טֶקסט = 'הגדר צבע רקע וקדמה' )
#הוסף תווית לחלון
lbl.pack ( ipadx = 30 , אייפד = עשרים )

#הגדר אובייקט כפתור עם רקע וצבע קדמי
btn = לחצן ( tkobj, טֶקסט = 'לחץ עלי' , רקע כללי = 'כְּחוֹל' , חֲזִית = 'אָדוֹם' )
#לחצן הוסף לחלון עם המיקום
btn.pack ( ipadx = 30 , אייפד = 8 )

#הגדר את מיקום התצוגה של החלון במרכז
tkobj.eval ( 'tk::PlaceWindow . מֶרְכָּז' )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

החלון הבא מופיע לאחר ביצוע הסקריפט:

דוגמה 4: שימוש במסגרת

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

#ייבוא ​​מודול הכרחי
מ-tkinter import *

#צור אובייקט עבור החלון
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'מודול tkinter' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '250x100' )

#הגדר אובייקטי מסגרת
frm = מסגרת ( tkobj )
frm.pack ( )
lframe = מסגרת ( tkobj )
lframe.pack ( צַד =שמאל )
rframe = מסגרת ( tkobj )
rframe.pack ( צַד =נכון )

#הגדר תווית בתוך המסגרת
lbl = תווית ( frm, טֶקסט = 'שימוש במסגרת' , fg = 'כְּחוֹל' )
lbl.pack ( )

#הגדר כפתורים בתוך המסגרת
btn1 = לחצן ( lframe, טֶקסט = '' , fg = 'שָׁחוֹר' , bg = 'לבן' )
btn2.pack ( צַד =נכון )

#הגדר את מיקום התצוגה של החלון במרכז
tkobj.eval ( 'tk::PlaceWindow . מֶרְכָּז' )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

הפלט הבא מופיע לאחר ביצוע הסקריפט:

דוגמה 5: טפל באירוע הכפתור

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

#יבוא מודולים נחוצים
מ-tkinter import *
מתיבת ההודעות של tkinter import

#צור אובייקט עבור החלון
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'למד את מודול tkinter' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '400x150' )

#הגדר פונקציה להצגת תיבת הודעות
תצוגת def ( ) :
messagebox.showinfo ( 'מֵידָע' , 'הלחצן נלחץ.' )

#צור טקסט תווית עם צבע גופן, סגנון ומיקום
תווית ( tkobj, טֶקסט = 'יישום שולחן עבודה באמצעות tkinter.' , fg = 'ירוק' ) .חבילה ( אורז = 25 )

#צור כפתור עם מטפל בכפתורים
לַחְצָן ( tkobj, טֶקסט = 'הצג הודעה' , פקודה =תצוגה ) .חבילה ( )

#הגדר את מיקום התצוגה של החלון במרכז
tkobj.eval ( 'tk::PlaceWindow . מֶרְכָּז' )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

החלון הבא מופיע לאחר ביצוע הסקריפט:

תיבת ההודעות הבאה מופיעה לאחר לחיצה על הכפתור:

דוגמה 6: קח קלט מהמשתמש

מספר ווידג'טים זמינים במודול tkinter כדי לקבל קלט מהמשתמש. השימושים בווידג'טים הנפוצים ביותר מוצגים בסקריפט הבא. צור קובץ Python עם הקוד הבא כדי לבדוק את הפלט:

#יבוא מודולים נחוצים
מ-tkinter import *
מ-tkinter.ttk ייבוא ​​Combobox
מ-tkinter import ttk
ייבוא ​​tkinter כפי ש tk
מתיבת ההודעות של tkinter import

#צור אובייקט tkinter
tkobj = Tk ( )

#הגדר את כותרת החלון
tkobj.title ( 'טופס פרטי משתמש' )

#הגדר את הגובה והרוחב של החלון
tkobj.geometry ( '550x320' )

#הגדר פונקציה להצגת ערכי הטופס
def display_values ( ) :
#קרא טקסט בשורה אחת
שם = 'שם:' + name_val.get ( ) + ' \n '
#קרא את ערך לחצן הבחירה שנבחר
אם gender.get ( ) == 1 :
g = 'זָכָר'
אַחֵר:
g = 'נְקֵבָה'
g = 'מגדר:' + g + ' \n '

#קרא את ערכי תיבת הסימון שנבחרו
משחק = ''
אם g1.get ( ) == 1 :
משחק = 'קרִיקֶט'
אם g2.get ( ) == 1 :
אם מִשְׂחָק ! = '' :
משחק += ',' + 'כדורגל'
אַחֵר:
משחק = 'כדורגל'
אם g3.get ( ) == 1 :
אם מִשְׂחָק ! = '' :
משחק += ',' + 'כדורסל'
אַחֵר:
משחק = 'כדורסל'
משחק = 'משחק:' + משחק + ' \n '

#קרא את ערכי התיבה המשולבת
מדינה = 'מדינה : ' + countryVal.get ( ) + ' \n '
#קרא את הטקסט הרב שורות
כתובת = 'כתובת : ' + addr.get ( '1.0' , 'סוֹף' ) + ' \n '
#מזג את כל הערכים שנלקחו על ידי השדות
form_values ​​= שם + g + משחק + מדינה + כתובת
#הצג את הערכים בתיבת ההודעה
messagebox.showinfo ( 'פרטי פרטי משתמש' , form_values )


#צור תווית ואת שדה השם
תווית ( tkobj, טֶקסט = 'שם:' ) .מקום ( איקס = 100 , ו = עשרים )
name_val = StringVar ( )
ttk.כניסה ( tkobj, משתנה טקסט =name_val ) .חבילה ( פדקס = 220 , אורז = עשרים )

#צור תווית ואת לחצן הבחירה
תווית ( tkobj, טֶקסט = 'מגדר:' ) .מקום ( איקס = 100 , ו = 60 )
מגדר = IntVar ( )
gender.set ( 1 )
כפתור רדיו ( tkobj, טֶקסט = 'זָכָר' , מִשְׁתַנֶה =מגדר, ערך = 1 ) .מקום ( איקס = 210 , ו = 60 )
כפתור רדיו ( tkobj, טֶקסט = 'נְקֵבָה' , מִשְׁתַנֶה =מגדר, ערך = 2 ) .מקום ( איקס = 290 , ו = 60 )

#צור תווית ולחצן תיבת סימון
תווית ( tkobj, טֶקסט = 'משחק מועדף : ' ) .מקום ( איקס = 100 , ו = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
כפתור סימון ( tkobj, טֶקסט = 'קרִיקֶט' , מִשְׁתַנֶה =g1 ) .מקום ( איקס = 210 , ו = 100 )
כפתור סימון ( tkobj, טֶקסט = 'כדורגל' , מִשְׁתַנֶה =g2 ) .מקום ( איקס = 290 , ו = 100 )
כפתור סימון ( tkobj, טֶקסט = 'כדורסל' , מִשְׁתַנֶה =g3 ) .מקום ( איקס = 380 , ו = 100 )

#הגדר ערכי tuple
נתונים = ( 'בנגלדש' , 'יפן' , 'ארה'ב' )
#צור תווית ותיבה משולבת
תווית ( tkobj, טֶקסט = 'מדינה : ' ) .מקום ( איקס = 100 , ו = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, ערכים =נתונים, משתנה טקסט =countryVal ) .מקום ( איקס = 220 , ו = 140 )

#צור תווית ושדה טקסט
תווית ( tkobj, טֶקסט = 'כתובת : ' ) .מקום ( איקס = 100 , ו = 180 )
addr = ( tk.Text ( tkobj, גוֹבַה = 3 , רוֹחַב = עשרים ) )
addr.place ( איקס = 220 , ו = 180 )

#צור כפתור עם מטפל בכפתורים
לַחְצָן ( tkobj, טֶקסט = 'שלח' , פקודה =display_values ) .מקום ( איקס = 250 , ו = 250 )

#הפעל את ה-Tkinter
tkobj.mainloop ( )

תְפוּקָה:

החלון הבא מופיע לאחר ביצוע הסקריפט:

מלא את השדות של הטופס ולחץ על כפתור 'שלח'.

תיבת ההודעה הבאה עם הערכים שנשלחו תופיע:

סיכום

שיטות השימוש במודול Python tkinter ליצירת יישומי GUI מוצגות במדריך זה תוך שימוש במספר דוגמאות.