Παραδείγματα Python Tkinter

Paradeigmata Python Tkinter



Η Python είναι μια ευέλικτη γλώσσα προγραμματισμού που μπορεί να χρησιμοποιηθεί για την υλοποίηση διαφορετικών τύπων εφαρμογών. Διαθέτει πολλούς τύπους λειτουργικών μονάδων για τη δημιουργία εφαρμογών που βασίζονται στο GUI (Graphical User Interface). Το Python tkinter είναι ένα από αυτά. Οποιαδήποτε εφαρμογή επιφάνειας εργασίας μπορεί να υλοποιηθεί εύκολα χρησιμοποιώντας τη λειτουργική μονάδα tkinter. Θα ήταν καλύτερα αν έχετε βασικές γνώσεις προγραμματισμού Python να μάθετε τις χρήσεις της ενότητας Python tkinter. Διαφορετικές χρήσεις της ενότητας Python tkinter για τη δημιουργία των εφαρμογών GUI παρουσιάζονται σε αυτό το σεμινάριο.

Εγκαταστήστε τη μονάδα Tkinter

Η λειτουργική μονάδα tkinter δεν είναι εγκατεστημένη στην Python από προεπιλογή. Επομένως, πρέπει να εκτελέσετε την ακόλουθη εντολή για να εγκαταστήσετε τη λειτουργική μονάδα tkinter στην έκδοση Python 3+:







$ sudo κατάλληλος εγκαθιστώ python3-tk



Διαφορετικά γραφικά στοιχεία Tkinter

Η ενότητα tkinter περιέχει διάφορα widget για διάφορους σκοπούς.







Όνομα γραφικού στοιχείου Σκοπός
Επιγραφή Χρησιμοποιείται για την εμφάνιση του μηνύματος βοήθειας για τον χρήστη.
Κουμπί Χρησιμοποιείται για την προσθήκη διαφορετικών κουμπιών στην εφαρμογή.
Πλαίσιο Λειτουργεί σαν ένα κοντέινερ γραφικών στοιχείων που περιέχει διαφορετικούς τύπους γραφικών στοιχείων για να σχεδιάσει μια οργανωμένη φόρμα.
Είσοδος Χρησιμοποιείται για τη λήψη κειμένου μιας γραμμής από τον χρήστη.
Κουμπί ελέγχου Χρησιμοποιείται για την προσθήκη των κουμπιών του πλαισίου ελέγχου για λήψη πολλαπλών εισόδων από τον χρήστη από πολλές επιλογές.
Κουμπί ραδιοφώνου Χρησιμοποιείται για την προσθήκη των κουμπιών επιλογής για να λαμβάνεται μία μόνο είσοδος από τον χρήστη από πολλές επιλογές.
Κουμπί Combobox Χρησιμοποιείται για την προσθήκη μιας αναπτυσσόμενης λίστας για τη λήψη μιας μεμονωμένης εισαγωγής από τον χρήστη από πολλές επιλογές.
ListBox Χρησιμοποιείται για την προσθήκη ενός πλαισίου λίστας για λήψη πολλαπλών εισόδων από τον χρήστη από πολλές επιλογές.
Κείμενο Χρησιμοποιείται για τη λήψη κειμένου πολλών γραμμών από τον χρήστη.
Μήνυμα Χρησιμοποιείται για την εμφάνιση του παραθύρου μηνύματος για τον χρήστη.
Γραμμή κύλισης Χρησιμοποιείται για την προσθήκη μιας γραμμής κύλισης στο παράθυρο για κύλιση του παραθύρου προς τα πάνω και προς τα κάτω.
Κουμπί μενού Χρησιμοποιείται για την εμφάνιση του μενού στον χρήστη.
Μενού Χρησιμοποιείται για την εμφάνιση των στοιχείων μενού στον χρήστη.
PanedWindow Λειτουργεί σαν ένα κοντέινερ γραφικών στοιχείων που περιέχει τα οριζόντια και κάθετα παράθυρα.
Καρτέλες Χρησιμοποιείται για την προσθήκη ενός παραθύρου καρτέλας στην εφαρμογή.

Διαφορετικά παραδείγματα Tkinter

Οι χρήσεις ορισμένων κοινών γραφικών στοιχείων tkinter φαίνονται στα ακόλουθα παραδείγματα.

Παράδειγμα 1: Δημιουργήστε μια απλή εφαρμογή GUI

Δημιουργήστε ένα αρχείο Python με το ακόλουθο περιεχόμενο που εμφανίζει ένα πλαίσιο διαλόγου στο κέντρο της οθόνης με έναν τίτλο και το συγκεκριμένο ύψος και πλάτος:



#Εισαγωγή απαραίτητης ενότητας
από την εισαγωγή tkinter *

#Δημιουργία αντικειμένου για το παράθυρο
tkobj = Tk ( )

#Ρυθμίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'Μάθετε ενότητα tkinter' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '300x150' )

#Ρυθμίστε τη θέση εμφάνισης του παραθύρου κεντρικά
tkobj.eval ( 'tk::PlaceWindow . κέντρο' )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου. Εμφανίζεται ένα πλαίσιο διαλόγου με τον τίτλο 'Learn tkinter module':

Παράδειγμα 2: Χρήση ετικέτας και κουμπιού

Δημιουργήστε ένα αρχείο Python με το ακόλουθο σενάριο που εμφανίζει ένα παράθυρο με μια ετικέτα και ένα πλαίσιο διαλόγου:

#Εισαγωγή απαραίτητης ενότητας
από την εισαγωγή tkinter *

#Δημιουργήστε ένα αντικείμενο για το παράθυρο
tkobj = Tk ( )

#Ρυθμίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'Μάθετε ενότητα tkinter' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '400x150' )

#Define label object
lbl = Ετικέτα ( tkobj, κείμενο = 'Είναι ένα απλό παράθυρο' )
#Προσθήκη ετικέτας στο παράθυρο
lbl.pack ( ipadx = 30 , ipads = είκοσι )

#Define button button
btn = Κουμπί ( tkobj, κείμενο = 'Κάνε κλικ με' )
#Προσθήκη κουμπιού στο παράθυρο με τη θέση
btn.pack ( ipadx = 30 , ipads = 10 )

#Ρυθμίστε τη θέση εμφάνισης του παραθύρου κεντρικά
tkobj.eval ( 'tk::PlaceWindow . κέντρο' )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Ένα παράθυρο με μια ετικέτα και ένα κουμπί εμφανίζεται στο κέντρο της οθόνης μετά την εκτέλεση του σεναρίου.

Παράδειγμα 3: Ορίστε το χρώμα γραμματοσειράς και το χρώμα φόντου

Δημιουργήστε ένα αρχείο Python με το ακόλουθο σενάριο που εμφανίζει ένα παράθυρο με μια ετικέτα και ένα πολύχρωμο κουμπί. Εδώ, το χαρακτηριστικό φόντου χρησιμοποιείται για να ορίσετε το χρώμα φόντου του κουμπιού και το χαρακτηριστικό προσκηνίου χρησιμοποιείται για να ορίσετε το χρώμα της γραμματοσειράς του κουμπιού:

#Εισαγωγή απαραίτητης ενότητας
από την εισαγωγή tkinter *

#Δημιουργήστε ένα αντικείμενο για το παράθυρο
tkobj = Tk ( )

#Ρυθμίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'Μάθετε ενότητα tkinter' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '400x150' )

#Define label object
lbl = Ετικέτα ( tkobj, κείμενο = 'Ορισμός χρώματος φόντου και προσκηνίου' )
#Προσθήκη ετικέτας στο παράθυρο
lbl.pack ( ipadx = 30 , ipads = είκοσι )

#Ορίστε το αντικείμενο κουμπιού με χρώμα φόντου και προσκηνίου
btn = Κουμπί ( tkobj, κείμενο = 'Κάνε κλικ με' , Ιστορικό = 'μπλε' , σε πρώτο πλάνο = 'το κόκκινο' )
#Προσθήκη κουμπιού στο παράθυρο με τη θέση
btn.pack ( ipadx = 30 , ipads = 8 )

#Ρυθμίστε τη θέση εμφάνισης του παραθύρου κεντρικά
tkobj.eval ( 'tk::PlaceWindow . κέντρο' )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Μετά την εκτέλεση του σεναρίου εμφανίζεται το ακόλουθο παράθυρο:

Παράδειγμα 4: Χρήση πλαισίου

Στο παρακάτω σενάριο Python, μια ετικέτα και δύο κουμπιά εμφανίζονται σε ένα γραφικό στοιχείο πλαισίου. Δημιουργήστε ένα αρχείο Python με το σενάριο για να ελέγξετε την έξοδο:

#Εισαγωγή απαραίτητης ενότητας
από την εισαγωγή tkinter *

#Δημιουργήστε ένα αντικείμενο για το παράθυρο
tkobj = Tk ( )

#Ρυθμίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'tkinter Module' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '250x100' )

#Ορισμός αντικειμένων πλαισίου
frm = Πλαίσιο ( tkobj )
frm.pack ( )
lframe = Πλαίσιο ( tkobj )
lframe.pack ( πλευρά =ΑΡΙΣΤΕΡΑ )
rframe = Πλαίσιο ( tkobj )
rframe.pack ( πλευρά =ΣΩΣΤΟ )

#Ορίστε την ετικέτα μέσα στο πλαίσιο
lbl = Ετικέτα ( frm, κείμενο = 'Χρήση του πλαισίου' , fg = 'μπλε' )
lbl.pack ( )

#Define κουμπιά μέσα στο πλαίσιο
btn1 = Κουμπί ( lframe, κείμενο = '' , fg = 'μαύρος' , bg = 'άσπρο' )
btn2.pack ( πλευρά =ΣΩΣΤΟ )

#Ρυθμίστε τη θέση εμφάνισης του παραθύρου κεντρικά
tkobj.eval ( 'tk::PlaceWindow . κέντρο' )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Η ακόλουθη έξοδος εμφανίζεται μετά την εκτέλεση του σεναρίου:

Παράδειγμα 5: Χειριστείτε το συμβάν του κουμπιού

Η χρήση του πλαισίου μηνύματος εμφανίζεται στο ακόλουθο σενάριο. Το πλαίσιο μηνύματος εμφανίζεται όταν κάνετε κλικ σε ένα κουμπί:

#Εισαγωγή απαραίτητων ενοτήτων
από την εισαγωγή tkinter *
από το πλαίσιο μηνυμάτων εισαγωγής tkinter

#Δημιουργήστε ένα αντικείμενο για το παράθυρο
tkobj = Tk ( )

#Ρυθμίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'Μάθετε ενότητα tkinter' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '400x150' )

#Ορίστε μια συνάρτηση για την εμφάνιση ενός πλαισίου μηνύματος
οθόνη def ( ) :
messagebox.showinfo ( 'Πληροφορίες' , 'Έγινε κλικ στο κουμπί.' )

#Δημιουργήστε κείμενο ετικέτας με χρώμα γραμματοσειράς, στυλ και θέση
Επιγραφή ( tkobj, κείμενο = 'Εφαρμογή επιφάνειας εργασίας με χρήση tkinter.' , fg = 'πράσινος' ) .πακέτο ( Αναποφλοίωτο ρύζι = 25 )

#Δημιουργήστε ένα κουμπί με έναν χειριστή κουμπιών
Κουμπί ( tkobj, κείμενο = 'Εμφάνιση μηνύματος' , εντολή =εμφάνιση ) .πακέτο ( )

#Ρυθμίστε τη θέση εμφάνισης του παραθύρου κεντρικά
tkobj.eval ( 'tk::PlaceWindow . κέντρο' )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Μετά την εκτέλεση του σεναρίου εμφανίζεται το ακόλουθο παράθυρο:

Το ακόλουθο πλαίσιο μηνύματος εμφανίζεται αφού πατήσετε το κουμπί:

Παράδειγμα 6: Λήψη εισόδου από τον χρήστη

Πολλά γραφικά στοιχεία είναι διαθέσιμα στη λειτουργική μονάδα tkinter για λήψη εισόδου από τον χρήστη. Οι χρήσεις των πιο κοινών γραφικών στοιχείων φαίνονται στο παρακάτω σενάριο. Δημιουργήστε ένα αρχείο Python με τον ακόλουθο κώδικα για να ελέγξετε την έξοδο:

#Εισαγωγή απαραίτητων ενοτήτων
από την εισαγωγή tkinter *
από το tkinter.ttk εισαγωγή Combobox
από tkinter εισαγωγή ttk
εισαγωγή tkinter όπως και tk
από το πλαίσιο μηνυμάτων εισαγωγής tkinter

#Δημιουργία αντικειμένου tkinter
tkobj = Tk ( )

#Ορίστε τον τίτλο του παραθύρου
tkobj.τίτλος ( 'Φόρμα πληροφοριών χρήστη' )

#Ρυθμίστε το ύψος και το πλάτος του παραθύρου
tkobj.γεωμετρία ( '550x320' )

#Ορίστε μια συνάρτηση για την εμφάνιση των τιμών της φόρμας
ορίστε τις τιμές εμφάνισης ( ) :
#Διαβάστε κείμενο μιας γραμμής
όνομα = 'Ονομα : ' + name_val.get ( ) + ' \n '
#Διαβάστε την επιλεγμένη τιμή του κουμπιού επιλογής
αν φύλο.πάρε ( ) == 1 :
g = 'Αρσενικός'
αλλού:
g = 'Θηλυκός'
g = 'Φύλο:' + g + ' \n '

#Διαβάστε τις επιλεγμένες τιμές πλαισίου ελέγχου
παιχνίδι = ''
αν g1.πάρε ( ) == 1 :
παιχνίδι = 'Κρίκετ'
αν g2.πάρε ( ) == 1 :
αν παιχνίδι ! = '' :
παιχνίδι += ',' + 'Ποδόσφαιρο'
αλλού:
παιχνίδι = 'Ποδόσφαιρο'
αν g3.get ( ) == 1 :
αν παιχνίδι ! = '' :
παιχνίδι += ',' + 'Μπάσκετ'
αλλού:
παιχνίδι = 'Μπάσκετ'
παιχνίδι = 'Παιχνίδι : ' + παιχνίδι + ' \n '

#Διαβάστε τις τιμές σύνθετου πλαισίου
χώρα = 'Χώρα : ' + countryVal.get ( ) + ' \n '
#Διαβάστε το κείμενο πολλών γραμμών
διεύθυνση = 'Διεύθυνση : ' + adr.get ( '1.0' , 'τέλος' ) + ' \n '
#Συγχώνευση όλων των τιμών που λαμβάνονται από τα πεδία
form_values ​​= όνομα + g + παιχνίδι + χώρα + διεύθυνση
#Εμφανίστε τις τιμές στο πλαίσιο μηνυμάτων
messagebox.showinfo ( 'Στοιχεία πληροφοριών χρήστη' , τιμές_φόρμας )


#Δημιουργήστε μια ετικέτα και το πεδίο ονόματος
Επιγραφή ( tkobj, κείμενο = 'Ονομα : ' ) .θέση ( Χ = 100 , και = είκοσι )
name_val = StringVar ( )
ttk.Είσοδος ( tkobj, μεταβλητή κειμένου =όνομα_βαλ ) .πακέτο ( Padx = 220 , Αναποφλοίωτο ρύζι = είκοσι )

#Δημιουργήστε μια ετικέτα και το κουμπί επιλογής
Επιγραφή ( tkobj, κείμενο = 'Φύλο:' ) .θέση ( Χ = 100 , και = 60 )
φύλο = IntVar ( )
φύλο.σύνολο ( 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 )

#Ορίστε πολλαπλές τιμές
δεδομένα = ( 'Μπανγκλαντές' , 'Ιαπωνία' , 'ΗΠΑ' )
#Create label and combobox
Επιγραφή ( tkobj, κείμενο = 'Χώρα : ' ) .θέση ( Χ = 100 , και = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, αξίες =δεδομένα, μεταβλητή κειμένου =countryVal ) .θέση ( Χ = 220 , και = 140 )

#Δημιουργία ετικέτας και πεδίου κειμένου
Επιγραφή ( tkobj, κείμενο = 'Διεύθυνση : ' ) .θέση ( Χ = 100 , και = 180 )
addr = ( tk.Κείμενο ( tkobj, ύψος = 3 , πλάτος = είκοσι ) )
διεύθυνση.τόπος ( Χ = 220 , και = 180 )

#Δημιουργήστε ένα κουμπί με έναν χειριστή κουμπιών
Κουμπί ( tkobj, κείμενο = 'Υποβάλλουν' , εντολή =display_values ) .θέση ( Χ = 250 , και = 250 )

#Run the Tkinter
tkobj.mainloop ( )

Παραγωγή:

Μετά την εκτέλεση του σεναρίου εμφανίζεται το ακόλουθο παράθυρο:

Συμπληρώστε τα πεδία της φόρμας και πατήστε το κουμπί «Υποβολή».

Θα εμφανιστεί το ακόλουθο πλαίσιο μηνύματος με τις υποβληθείσες τιμές:

συμπέρασμα

Οι μέθοδοι χρήσης της λειτουργικής μονάδας Python tkinter για τη δημιουργία των εφαρμογών GUI παρουσιάζονται σε αυτό το σεμινάριο χρησιμοποιώντας πολλά παραδείγματα.