Tkinter Listbox

Tkinter Listbox



Η προεπιλεγμένη εργαλειοθήκη GUI για την Python ονομάζεται Tkinter. Ο συνδυασμός της Python με το Tkinter καθιστά γρήγορη και απλή την ανάπτυξη των εφαρμογών GUI. Μια αποτελεσματική αντικειμενοστραφή πύλη για την εργαλειοθήκη Tk GUI παρέχεται από την Tkinter. Είναι απλό να δημιουργήσετε μια διεπαφή Gui χρησιμοποιώντας το Tkinter. Μέσα σε αυτόν τον οδηγό, θα σας δείξουμε τη χρήση της βιβλιοθήκης Tkinter για να δημιουργήσετε ένα Tkinter GUI και να προσθέσετε ένα widget Listbox σε αυτό.

Ξεκινώντας με το σύστημα Ubuntu 20.04, ενημερώνουμε το σύστημά μας χρησιμοποιώντας ορισμένες εντολές στο κέλυφος του τερματικού. Εκκινούμε την εφαρμογή τερματικού με το Ctrl+Alt+T και προσθέτουμε την κατάλληλη εντολή «ενημέρωση» σε αυτήν. Η εκτέλεση απαιτεί τον κωδικό πρόσβασης του συνδεδεμένου χρήστη και ενημερώνει ολόκληρο το σύστημα μετά την προσθήκη κωδικού πρόσβασης.







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





Η εγκατάσταση αυτού του βοηθητικού προγράμματος απαιτεί την επιβεβαίωσή σας πριν ολοκληρωθεί. Πατήστε το «y» αφού σας γίνει η ακόλουθη ερώτηση:





Μετά από ολόκληρη την εγκατάσταση αυτού του βοηθητικού προγράμματος, λαμβάνουμε το ακόλουθο πλαίσιο διαλόγου για το γραφικό στοιχείο 'tk' στην οθόνη του τερματικού. Διαθέτει δύο κουμπιά – ένα για διακοπή και ένα για ένα μόνο κλικ.



Κάνοντας συνεχόμενο κλικ στο 'Κλικ μου!' κουμπί, παίρνουμε τις αγκύλες γύρω από το κείμενο που περιέχει. Η οθόνη διαλόγου του 'Tk' μεγαλώνει σε πλάτος. Πατώντας στο «Τερματισμός
κουμπί, ο διάλογος tk έχει κλείσει με οποιοδήποτε πρόβλημα.

Παράδειγμα 1:

Ξεκινάμε το πρώτο μας παράδειγμα Python για να εμφανίσουμε τη χρήση του Tkinter Listbox στο πρόγραμμα. Για αυτό, δημιουργούμε ένα νέο αρχείο Python και εισάγουμε όλες τις σχετικές συναρτήσεις της βιβλιοθήκης 'Tkinter'. Το αντικείμενο GUI 't' δημιουργείται στον κώδικα χρησιμοποιώντας τη συνάρτηση 'Tk()'. Μας επιτρέπει να δημιουργήσουμε το κύριο παράθυρο GUI στην οθόνη μας. Η συνάρτηση geometry() καλείται χρησιμοποιώντας το αντικείμενο 't' του Tkinter για τη δημιουργία μιας οθόνης συγκεκριμένου μεγέθους.

Τώρα, δημιουργούμε μια ετικέτα γραφικού στοιχείου 'l' τύπου κειμένου στην οθόνη Tkinter GUI με κάποιο κείμενο για την επισήμανση του γραφικού στοιχείου. Μετά από αυτό, δημιουργούμε ένα widget Listbox χρησιμοποιώντας το αντικείμενο 't' στις παραμέτρους μιας συνάρτησης 'Listbox'. Η συνάρτηση insert() που χρησιμοποιεί το γραφικό στοιχείο Listbox καλείται να προσθέσει 5 νέες τιμές συμβολοσειράς στο Listbox με την καθορισμένη αρίθμηση για τη δημιουργία μιας παραγγελίας.

Η ετικέτα 'l' συσκευάζεται μετά από αυτήν χρησιμοποιώντας τη συνάρτηση pack(). Το Listbox είναι γεμάτο. Η συνάρτηση mainloop() καλείται χρησιμοποιώντας το αντικείμενο 't' του Tkinter για τη δημιουργία ενός βασικού βρόχου γεγονότων που δημιουργείται από έναν χρήστη. Αυτός είναι ο τρόπος με τον οποίο ένα Listbox χρησιμοποιείται στην Python μέσω της ενότητας Tkinter. Το πρόγραμμα είναι πλέον ολοκληρωμένο και έτοιμο για χρήση. Ας το αποθηκεύσουμε στο αρχείο και ας το κλείσουμε.

#!/usr/bin/python3
από την εισαγωγή tkinter *
t = Tk ( )
τ.γεωμετρία ( '200x250' )
l = ετικέτα ( t, κείμενο = 'Τα αγαπημένα μου χρώματα...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Ασπρο' )
listbox.insert ( δύο , 'Μαύρος' )
listbox.insert ( 3 , 'Το κόκκινο' )
listbox.insert ( 4 , 'Μπλε' )
listbox.insert ( 5 , 'Κίτρινος' )
l.συσκευασία ( )
listbox.pack ( )
t.mainloop ( )

Αφού κλείσουμε το αρχείο, εκκινούμε ξανά το τερματικό και παραθέτουμε τα περιεχόμενα του κύριου καταλόγου μέσω της εντολής “ls”. Δείχνει ότι υπάρχει και το πρόσφατα ενημερωμένο αρχείο Python. Χρησιμοποιούμε python3 για να εκτελέσουμε το αρχείο Python.

Κατά την εκτέλεση, η ακόλουθη οθόνη GUI του Tkinter ανοίγει στην οθόνη μας με τον τίτλο 'tk'. Μέσα στην περιοχή με γκρι χρώμα, μπορείτε να δείτε το κείμενο με ετικέτα. Στη λευκή περιοχή, μπορείτε να δείτε τα στοιχεία του πλαισίου λίστας, δηλαδή τα στοιχεία που προστέθηκαν στο πλαίσιο λίστας χρησιμοποιώντας το αντικείμενο του πλαισίου λίστας. Μπορείτε να κλείσετε την οθόνη GUI Tkinter χρησιμοποιώντας το σταυρό που δίνεται στην πιο δεξιά γωνία με κόκκινο χρώμα.

Παράδειγμα 2:

Ας ρίξουμε μια ματιά στη χρήση του Listbox μαζί με κάποια άλλα γραφικά στοιχεία για να το κάνουμε λίγο διαδραστικό. Το ίδιο σενάριο Python χρησιμοποιείται στο ίδιο αρχείο κώδικα με μικρές αλλαγές σε ορισμένες γραμμές. Προσθέτουμε μια νέα γραμμή κώδικα στον αριθμό γραμμής 12 αυτού του κώδικα. Δημιουργούμε ένα κουμπί 'b' στην οθόνη Tkinter GUI χρησιμοποιώντας τη λειτουργία 'Button' λαμβάνοντας το κείμενο 'Delete' ως ετικέτα κουμπιού και το αντικείμενο Tkinter 't'.

Η τρίτη παράμετρος της συνάρτησης Button() περιέχει την εντολή διαγραφής για τα στοιχεία του Listbox χρησιμοποιώντας ANCHOR, δηλαδή την επιλογή ενός στοιχείου και τη διαγραφή του χρησιμοποιώντας το κουμπί. Η ετικέτα, το πλαίσιο λίστας και το κουμπί είναι γεμάτα. Ο κύριος βρόχος συμβάντος δημιουργείται για την εκτέλεση αυτού του GUI.

#!/usr/bin/python3
από την εισαγωγή tkinter *
t = Tk ( )
τ.γεωμετρία ( '200x250' )
l = ετικέτα ( t, κείμενο = 'Τα αγαπημένα μου χρώματα...' )
listbox = Listbox ( t )
listbox.insert ( 1 , 'Ασπρο' )
listbox.insert ( δύο , 'Μαύρος' )
listbox.insert ( 3 , 'Το κόκκινο' )
listbox.insert ( 4 , 'Μπλε' )
listbox.insert ( 5 , 'Κίτρινος' )
b = Κουμπί ( t, κείμενο = 'Διαγράφω' , κομμντ = λάμδα πλαίσιο λίστας =listbox: listbox.delete ( ΑΓΚΥΡΑ ) )
l.συσκευασία ( )
listbox.pack ( )
β.συσκευασία
t.mainloop ( )

Εκτελούμε το ίδιο αρχείο αφού το αποθηκεύσουμε.

Η έξοδος εμφανίζει το πλαίσιο λίστας 5 στοιχείων μαζί με ένα κουμπί 'Διαγραφή'.

Επιλέγουμε το στοιχείο 'Blue' Listbox και πατάμε το κουμπί 'Delete'.

Το επιλεγμένο στοιχείο διαγράφεται από το πλαίσιο λίστας.

Τώρα, ενημερώνουμε τον ίδιο κώδικα για να προσθέσουμε μια επιπλέον λειτουργικότητα. Έτσι, στην 3η γραμμή, ενημερώνουμε το μέγεθος ενός παραθύρου GUI. Στην 5η γραμμή κώδικα, προσθέτουμε έναν ορισμό για τη συνάρτηση 'showSelected()'. Αυτή η συνάρτηση καλεί τη συνάρτηση config() χρησιμοποιώντας το ακόλουθο αντικείμενο για να λάβει το επιλεγμένο κείμενο στοιχείου από το πλαίσιο λίστας 'Lbx'. Στη γραμμή 15, το κουμπί καλεί τη συνάρτηση showSelected() στην παράμετρο εντολής.

#!/usr/bin/python3
από την εισαγωγή tkinter *
t = Tk ( )
τ.γεωμετρία ( '400x300' )
def showΕπιλέχτηκε ( ) :
show.config ( κείμενο =Lbx.get ( ΑΓΚΥΡΑ ) )
l = ετικέτα ( t, κείμενο = 'Τα αγαπημένα μου χρώματα...' )
Lbx = Πλαίσιο λίστας ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'Ασπρο' )
Lbx.insert ( δύο , 'Μαύρος' )
Lbx.insert ( 3 , 'Το κόκκινο' )
Lbx.insert ( 4 , 'Μπλε' )
Lbx.insert ( 5 , 'Κίτρινος' )
Κουμπί ( t, κείμενο = 'Εμφάνιση επιλεγμένων', commnd=showSelected).pack()
εμφάνιση = Ετικέτα(t)
εμφάνιση.πακέτο
t.mainloop()

Εκτελούμε τον ενημερωμένο κώδικα.

Δημιουργείται η ακόλουθη οθόνη του Listbox με το κουμπί 'Εμφάνιση επιλεγμένων'.

Επιλέγουμε το στοιχείο Listbox 'Λευκό' και πατάμε το κουμπί 'Εμφάνιση επιλεγμένων'. Το κείμενο 'Λευκό' εμφανίζεται στην οθόνη GUI μετά το κουμπί.

συμπέρασμα

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