Το Tkinter είναι μια εργαλειοθήκη γραφικού περιβάλλοντος εργασίας χρήστη (GUI) που πρέπει να δοκιμάσετε εάν θέλετε να εξερευνήσετε τη δύναμη του Python στη δημιουργία εφαρμογών για επιτραπέζιους υπολογιστές.

Εδώ, ρίχνουμε μια ματιά στα βασικά στοιχεία της ενότητας Tkinter GUI.

Ρύθμιση Tkinter

Συνήθως, δεν χρειάζεται να εγκαταστήσετε tkinter ξεχωριστά εάν έχετε εγκαταστήσει μια νεότερη έκδοση του Python, ξεκινώντας με το Python 3. Ωστόσο, η βιβλιοθήκη ενδέχεται να μην λειτουργεί με παλιές εκδόσεις Python. Αυτό είναι ένα κοινό πρόβλημα για χρήστες Mac και Linux, καθώς αυτά τα λειτουργικά συστήματα συνήθως έρχονται με παλαιότερες εκδόσεις του Python από προεπιλογή.

Γενικά, για να χρησιμοποιήσετε το tkinter ενότητα, βεβαιωθείτε ότι κάνετε λήψη και εγκατάσταση της πιο πρόσφατης συμβατής έκδοσης του Python στον υπολογιστή σας από τον επίσημο python.org δικτυακός τόπος.

Εάν χρησιμοποιείτε Mac, εναλλακτικά, μπορείτε να κατεβάσετε την τελευταία έκδοση του ActiveTcl, a tkinter μεταγλωττιστής από ActiveState.

instagram viewer

Πώς να χρησιμοποιήσετε το Tkinter

Το Tkinter εξαρτάται από το ενσωματωμένο ΤΚ τάξη. Και ολοκληρώνει όλα τα συμβάντα μέσα στο GUI σε ένα mainloop. Έτσι, το mainloop το περιτύλιγμα σας κάνει tkinter εκτελέσιμος κώδικας.

Για να ξεκινήσετε tkinter:

από tkinter import Tk
Tk (). Mainloop ()

Η εκτέλεση του παραπάνω κώδικα περιστρέφει ένα κενό tkinter πλαίσιο.

Οι δυνατότητες προσαρμογής του Tkinter, ωστόσο, βρίσκονται στα ενσωματωμένα widget.

Για να χρησιμοποιήσετε αυτά τα widget, μπορείτε να τα εισαγάγετε από tkinter αντικαθιστώντας από tkinter import Tk με:

από την εισαγωγή tkinter *
t = Tk ()
t.mainloop ()

Μπορείτε επίσης να προσαρμόσετε το μέγεθος του παραθύρου με το γεωμετρία συνάρτηση και στη συνέχεια καθορίστε έναν τίτλο χρησιμοποιώντας το τίτλος widget του tkinter:

t = Tk ()
t.geometry ("600x600")
t.title ("Tk Tutorial")
t.mainloop ()

Το Tkinter σάς επιτρέπει να γράφετε απλά κείμενα απευθείας στο GUI χρησιμοποιώντας το Επιγραφή widget:

t = Tk ()
Ετικέτα (t, text = "MUO Tkinter tutorial"). Πλέγμα ()
t.mainloop ()

ο πλέγμα() μέθοδος, ωστόσο, είναι μια εναλλακτική λύση για το πακέτο() μέθοδος. Κολλά τα widget σας στο GUI, καθιστώντας τα ορατά.

Μπορείτε επίσης να καθορίσετε μια γραμματοσειρά για τη δική σας Επιγραφή κείμενο:

t = Tk ()
Ετικέτα (t, text = "MUO Tkinter tutorial", font = (60)). Πλέγμα ()
t.mainloop ()

Τα κουμπιά είναι μερικά από τα πιο συχνά χρησιμοποιούμενα widget tkinter. Και μπορείτε να προσθέσετε αυτά τα κουμπιά με δυνατότητα κλικ στο GUI χρησιμοποιώντας τα διάφορα ενσωματωμένα widget κουμπιών.

Δείτε πώς μπορείτε να προσθέσετε ένα κύριο κουμπί στο GUI χρησιμοποιώντας το Κουμπί widget:

t = Tk ()
Κουμπί (t, text = "Clickable", bg = "black", fg = "white"). Πλέγμα ()
t.mainloop ()

ο βγ και στ οι λέξεις-κλειδιά περιγράφουν το χρώμα φόντου του κουμπιού και το χρώμα του κειμένου μέσα σε αυτό αντίστοιχα.

Μπορείτε επίσης να προσαρμόσετε τη διάσταση του κουμπιού συμπεριλαμβάνοντας το ύψος και πλάτος Παράμετροι:

t = Tk ()
Κουμπί (t, text = "Clickable", bg = "black", fg = "white", height = "2", width = "10"). Πλέγμα ()
t.mainloop ()

Εδώ είναι το αποτέλεσμα για αυτό:

Και εάν θέλετε να κάνετε το κουμπί πιο οπτικά ελκυστικό, μπορείτε να συμπεριλάβετε ένα ανακούφιση λέξη-κλειδί και, στη συνέχεια, προσαρμόστε το πλάτος του περιγράμματος:

t = Tk ()
Κουμπί (t, text = "Clickable", bg = "blue", fg = "white",
ύψος = 2, πλάτος = 10, ανάγλυφο = ΥΨΟΣ, περιθώριο πλάτους = 6). πλέγμα ()
t.mainloop ()

Και μοιάζει με αυτό:

Αντικαθιστώ ΥΨΗΛΗ με ΔΙΑΜΕΡΙΣΜΑ για να δούμε πώς έρχεται.

Μπορείτε να προσθέσετε όσα κουμπιά θέλετε. Αλλά προσέξτε να αποφύγετε την αλληλεπικάλυψη περιεχομένου.

Για να αποφύγετε την αλληλεπικάλυψη, μπορείτε να καθορίσετε τη θέση γραμμής και στήλης για κάθε κουμπί:

t = Tk ()
Κουμπί (t, κείμενο = 1, bg = "μαύρο", fg = "λευκό") πλέγμα (σειρά = 1, στήλη = 1)
Κουμπί (t, κείμενο = 2, bg = "μαύρο", fg = "λευκό") πλέγμα (σειρά = 2, στήλη = 1)
Κουμπί (t, text = 3, bg = "black", fg = "white"). Πλέγμα (σειρά = 3, στήλη = 1)
Κουμπί (t, κείμενο = 4, bg = "μαύρο", fg = "λευκό"). Πλέγμα (σειρά = 4, στήλη = 1)
t.mainloop ()

Προαιρετικό εντολή λέξη-κλειδί, ωστόσο, προσθέτει συμβάντα στο Κουμπί widget Στην ουσία, αγκαλιάζει μια προαιρετική λειτουργία που χειρίζεται συγκεκριμένα συμβάντα όταν κάνετε κλικ σε ένα κουμπί.

Ο παρακάτω κώδικας, για παράδειγμα, πολλαπλασιάζει την τιμή κάθε κουμπιού με 6 όταν κάνετε κλικ σε αυτό. Και βασίζεται σε μια προκαθορισμένη συνάρτηση:

def buttonpress (r):
r = 6 * r
Ετικέτα (t, text = r, font = (60)). Πλέγμα (σειρά = 5, στήλη = 2)
t = Tk ()
Κουμπί (t, κείμενο = 1, bg = "μαύρο", fg = "λευκό", πλάτος = 10, ύψος = 2,
command = lambda: buttonpress (1)). πλέγμα (σειρά = 1, στήλη = 1, pady = 6)
Κουμπί (t, κείμενο = 2, bg = "μαύρο", fg = "λευκό", πλάτος = 10,
command = lambda: buttonpress (2)). πλέγμα (σειρά = 2, στήλη = 1, pady = 6)
Κουμπί (t, κείμενο = 3, bg = "μαύρο", fg = "λευκό", πλάτος = 10,
command = lambda: buttonpress (3)). πλέγμα (σειρά = 3, στήλη = 1, pady = 6)
Κουμπί (t, κείμενο = 4, bg = "μαύρο", fg = "λευκό", πλάτος = 10,
command = lambda: buttonpress (4)). πλέγμα (σειρά = 4, στήλη = 1, pady = 6)
t.mainloop ()

Στον παραπάνω κώδικα, πατημένο κουμπί χειρίζεται το συμβάν πολλαπλασιασμού. ο Κουμπί Το widget στη συνέχεια δείχνει τον χειριστή συμβάντων χρησιμοποιώντας ένα ανώνυμο λάμδα λειτουργία.

Και αν ανησυχείτε για το μαλακό λέξη-κλειδί, χωρίζει ξεχωριστά κάθε κουμπί στη σειρά. Αντικατάσταση αυτού με padx διαχωρίζει τα κουμπιά κατά μήκος της στήλης. Και μπορείτε να χρησιμοποιήσετε και τις δύο λέξεις-κλειδιά ταυτόχρονα για να διαχωρίσετε τα κουμπιά και στους δύο άξονες όπως θέλετε.

Τούτου λεχθέντος, δεν θέλετε να ανακαλύψετε ξανά τον τροχό για κάθε κουμπί όπως κάνατε στον προηγούμενο κώδικα. Αυτό επιβραδύνει τον χρόνο εκτέλεσης, ενώ καθιστά τον κώδικά σας δύσκολο να διαβαστεί και να περιοριστεί.

Αλλά μπορείς χρησιμοποιήστε ένα για βρόχο για να αποφευχθεί αυτή η επανάληψη.

Ακολουθεί μια πιο σύντομη και καλύτερη έκδοση του παραπάνω κώδικα:

def buttonpress (r):
r = 6 * r
Ετικέτα (t, text = r, font = (60)). Πλέγμα (σειρά = 5, στήλη = 2)
t = Tk ()
α = [1, 4, 6, 7]
για εγώ σε:
j = λάμδα y = i: πάτημα κουμπιού (y)
Κουμπί (t, κείμενο = i, bg = "μαύρο", fg = "λευκό", πλάτος = 10, ύψος = 2,
εντολή = j) .grid (σειρά = i, στήλη = 1, pady = 6)
t.mainloop ()

Κουμπιά μενού και κουμπιά ελέγχου

Ας διερευνήσουμε περαιτέρω τη δύναμη του Για βρόχος για να προσθέσετε κουμπιά μενού στο GUI σας:

από την εισαγωγή tkinter *
t = Tk ()
κουμπιά = ["Αρχεία", "Πίνακας ελέγχου", "Μενού", "Ρυθμίσεις", "Βοήθεια"]
m = 0
για i in range (len (κουμπιά)):
# Λάβετε κάθε κείμενο στη συστοιχία κουμπιών χρησιμοποιώντας έναν κατάλογο λίστας καθώς αυξάνεται το m.
# Στη συνέχεια, αφήστε την στήλη να αυξηθεί κατά 1 έως το μήκος του πίνακα:

Μενού επιλογής (t, κείμενο = κουμπιά [m], bg = "blue", fg = "white"). Πλέγμα (σειρά = 5, στήλη = i)
m + = 1
t.mainloop ()

Η προσθήκη κουμπιών ελέγχου στο GUI είναι επίσης πολύ εύκολη:

t = Tk ()
Κουμπί ελέγχου (t, κείμενο = "Επιλογή επιλογής"). Πλέγμα ()
t.mainloop ()

Μη διστάσετε να πολλαπλασιάσετε αυτό το κουμπί ελέγχου χρησιμοποιώντας το Για βρόχο, όπως κάναμε νωρίτερα.

ο Μενού Το widget σας επιτρέπει να σχεδιάσετε αναπτυσσόμενα μενού με δυνατότητα κλικ tkinter.

Όπως προαναφέρθηκε, tkinter προσφέρει πολλές επιλογές widget. Και θα χρησιμοποιήσετε μερικά από αυτά κατά το σχεδιασμό του αναπτυσσόμενου μενού σας.

Ακολουθούν μερικές από τις κοινές επιλογές widget που θα συναντήσετε κατά την πραγματοποίηση ενός αναπτυσσόμενου μενού:

  • add_cascade: Εμφανίζει μια ετικέτα μενού και την κολλάει εκεί που ανήκει.
  • add_separator: Οριοθετεί τα υπομενού και τα ομαδοποιεί σε ανώτερα και κάτω υπομενού.
  • add_command: Εδώ δίνεις ένα όνομα στο υπομενού σου. Τελικά, δέχεται ένα όρισμα εντολής όπου μπορείτε να καθορίσετε ένα πρόγραμμα χειρισμού συμβάντων.

Ακολουθεί ένα αναπτυσσόμενο παράδειγμα που χρησιμοποιεί αυτές τις τρεις επιλογές:

από την εισαγωγή tkinter *
t = Tk ()
fileOptions = ["Νέο", "άνοιγμα", "Αποθήκευση", "Αποθήκευση ως"]
fileOptionsAfterseparator = ["Εισαγωγή", "Εξαγωγή", "Έξοδος"]
viewOptions = ["Μετασχηματισμός", "Επεξεργασία", "Δημιουργία"]
menuBar = Μενού (t)
αρχείο = Μενού (menuBar, tearoff = 0)
για i στο αρχείοΕπιλογές:
file.add_command (label = i, command = Κανένα)
file.add_separator ()
για i στο fileOptionsAfterseparator:
file.add_command (label = i, command = Κανένα)
menuBar.add_cascade (label = "Αρχείο", μενού = αρχείο)
Προβολή = Μενού (menuBar, tearoff = 0)
για i in view Επιλογές:
View.add_command (label = i, command = Κανένα)
menuBar.add_cascade (label = "Προβολή", μενού = Προβολή)
t.config (menu = menuBar)
t.mainloop ()

Δείτε πώς φαίνεται:

Μενού επιλογών Tkinter

Ενα Επιλογές, σε αντίθεση με το Μενού αναπτυσσόμενο μενού, αλλάζει την ετικέτα του σε μια επιλεγμένη επιλογή.

Παρόλο που μπορείτε να καθορίσετε μια προεπιλεγμένη τιμή ετικέτας για ένα μενού επιλογών, δεν έχει ετικέτα από προεπιλογή.

Σχετιζομαι με: Ιδέες έργου Python Κατάλληλες για αρχάριους

Δείτε πώς μπορείτε να δημιουργήσετε ένα μενού επιλογών στο tkinter:

t = Tk ()
Omenu = StringVar () # ορίστε τον μεταβλητό τύπο των επιλογών
Omenu.set ("MUO") # προσδιορίστε μια προεπιλεγμένη τιμή για το εικονίδιο μενού
OptionMenu (t, Omenu, "MUO", "Amazon", "Tutorial"). Πλέγμα ()
t.mainloop ()

Δημιουργήστε μια επαναχρησιμοποιήσιμη εφαρμογή επιφάνειας εργασίας με το Tkinter

Το Tkinter προσφέρει μια σειρά λειτουργιών που σας βοηθούν να δημιουργήσετε διαδραστικές εφαρμογές γραφείου GUI. Παρόλο που μπορεί να μην έχει πολλές ευέλικτες λειτουργίες ομορφιάς όπως κάποιες άλλες μονάδες Python GUI, εξακολουθεί να είναι ένα εύχρηστο εργαλείο που αξίζει να το εξερευνήσετε. Και ενώ τα παραδείγματα εδώ δείχνουν μόνο μερικές από τις βασικές έννοιες, tkinter προσφέρει πιο προηγμένες δυνατότητες που μπορείτε να δοκιμάσετε.

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

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
GUI; Τι είναι ένα γραφικό περιβάλλον εργασίας χρήστη;

Χρησιμοποιείτε GUI; Οι πιθανότητες έχετε επειδή τα χρησιμοποιείτε κάθε μέρα.

Διαβάστε Επόμενο

Σχετικά θέματα
  • Προγραμματισμός
  • Πύθων
Σχετικά με τον Συγγραφέα
Idowu Omisola (Δημοσιεύθηκαν 88 άρθρα)

Το Idowu είναι παθιασμένο με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και αλλάζει στη σκακιέρα όταν βαριέται, αλλά αγαπά επίσης να ξεφεύγει από τη ρουτίνα κάποτε. Το πάθος του για να δείξει στους ανθρώπους το δρόμο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράφει περισσότερα.

Περισσότερα από το Idowu Omisola

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε