Μια εφαρμογή To-Do είναι ένα κλασικό έργο για κάθε εκκολαπτόμενο προγραμματιστή. Μάθετε πώς να δημιουργήσετε ένα χρησιμοποιώντας Python και Tkinter.

Μια εφαρμογή To-Do, που μερικές φορές αναφέρεται ως διαχειριστής εργασιών, επιτρέπει στους χρήστες να οργανώνουν και να διαχειρίζονται τις εργασίες τους πιο αποτελεσματικά. Μπορείτε να δημιουργήσετε μια λίστα με καθημερινές ή εβδομαδιαίες εργασίες, να ορίσετε προθεσμίες και υπενθυμίσεις, να τις ιεραρχήσετε, να παρακολουθήσετε την πρόοδό τους και να τις μοιραστείτε με άλλους.

Μια εφαρμογή To-Do σάς επιτρέπει να διαχειρίζεστε χρόνο, να ενισχύετε την παραγωγικότητα και να μειώνετε το άγχος. Λοιπόν, πώς μπορείτε να δημιουργήσετε ένα στην Python;

Η ενότητα Tkinter

Μπορείτε να χρησιμοποιήσετε το Tkinter για να δημιουργήσετε την εφαρμογή To-Do. Το Tkinter σάς επιτρέπει να δημιουργείτε εφαρμογές επιφάνειας εργασίας. Προσφέρει μια ποικιλία γραφικών στοιχείων όπως κουμπιά, ετικέτες και πλαίσια κειμένου που διευκολύνουν την ανάπτυξη εφαρμογών. Ορισμένες εφαρμογές που μπορείτε να αναπτύξετε χρησιμοποιώντας το Tkinter περιλαμβάνουν α

instagram viewer
Εφαρμογή λεξικού, Music Player, ένα Εργαλείο μετατροπής βάρους, και ένα Παιχνίδι Word Jumble.

Για να εγκαταστήσετε το Tkinter, ανοίξτε ένα τερματικό και εκτελέστε:

pip εγκατάσταση tkinter

Πώς να δημιουργήσετε μια εφαρμογή εκκρεμών υποχρεώσεων χρησιμοποιώντας Python

Μπορείτε να βρείτε τον πηγαίο κώδικα της εφαρμογής To-Do σε αυτό Αποθετήριο GitHub.

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

από tkinter εισαγωγή *
από tkinter.font εισαγωγή Γραμματοσειρά

ρίζα = Tk()
root.configure (background="#A020f0")
root.title(«Εφαρμογή λίστας εκκρεμοτήτων»)
root.geometry("750x500")

Ορίστε ένα στυλ γραμματοσειράς και ένα γραφικό στοιχείο πλαισίου. Ένα πλαίσιο λειτουργεί ως κοντέινερ και είναι υπεύθυνο για τη διευθέτηση της θέσης άλλων γραφικών στοιχείων. Ρυθμίστε το γονικό παράθυρο στο οποίο θέλετε να το τοποθετήσετε και δώστε του μια κατακόρυφη επένδυση 10.

Ορίστε ένα γραφικό στοιχείο πλαισίου λίστας. Αυτό το στοιχείο εμφανίζει μια λίστα στοιχείων για να επιλέξει ο χρήστης. Ορίστε το γονικό παράθυρο στο οποίο θέλετε να το τοποθετήσετε, το στυλ γραμματοσειράς, το πλάτος, το ύψος, το χρώμα φόντου, το πλάτος του περιγράμματος και το χρώμα της γραμματοσειράς. Επίσης, ορίστε το πάχος της επισήμανσης εστίασης, το χρώμα φόντου που θα πρέπει να έχει όταν επιλεγεί και την εμφάνιση της ενεργής γραμμής ως Κανένας.

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

my_font = Γραμματοσειρά (οικογένεια="Arial", μέγεθος=22, βάρος ="τολμηρός")
my_frame = Πλαίσιο (ρίζα)
my_frame.pack (pady=10)

my_list = Listbox (my_frame, font=my_font, width=40, ύψος=7, bg="#cf9fff", bd=0, fg="#5c4033", highlighthickness=0, επιλογή φόντου="#ff0000", activestyle="κανένας")
my_list.pack (πλευρά=ΑΡΙΣΤΕΡΑ, συμπλήρωση=ΔΥΟ)

Ορίστε μια γραμμή κύλισης που το πρόγραμμα θα εμφανίζει στη δεξιά πλευρά του πλαισίου, γεμίζοντας τυχόν επιπλέον χώρο και προς τις δύο κατευθύνσεις. Χρησιμοποιήστε το config() μέθοδος σύνδεσης της γραμμής κύλισης στο γραφικό στοιχείο του πλαισίου λίστας που ορίσατε προηγουμένως. Κατά τη ρύθμιση της τιμής του εντολή yscroll όπως και my_scrollbar.set λαμβάνει την τρέχουσα θέση της γραμμής κύλισης στην αλληλεπίδραση με τον χρήστη.

Κατά τη ρύθμιση της παραμέτρου εντολής ως my_list.yview, η κίνηση της γραμμής κύλισης συνδέεται με τις λειτουργίες πάνω και κάτω. Έτσι, όταν ο χρήστης αλληλεπιδρά με τη γραμμή κύλισης, οι προβολές του πλαισίου λίστας αλλάζουν ανάλογα.

my_scrollbar = Γραμμή κύλισης (my_frame)
my_scrollbar.pack (πλευρά=ΔΕΞΙΑ, συμπλήρωση=ΔΥΟ)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)

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

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

my_entry = Καταχώριση (root, font=("Arial", 22), πλάτος=26, bg='#cf9fff')
my_entry.pack (pady=20)

button_frame = Πλαίσιο (ρίζα, bg='#a020f0')
button_frame.pack (pady=20)

Ορίστε μια συνάρτηση, delete_item(). Πέρνα το ΑΓΚΥΡΑ παράμετρο στη συνάρτηση διαγραφής για να αφαιρέσετε το επιλεγμένο στοιχείο από τη λίστα.

defdelete_item():
my_list.delete (ANCHOR)

Ορίστε μια συνάρτηση, πρόσθεσε είδος(). Χρησιμοποιήστε το παίρνω() λειτουργία για ανάκτηση της τιμής που εισήγαγε ο χρήστης στο τέλος της λίστας. Εάν η λίστα είναι κενή, το στοιχείο που προστέθηκε θα γίνει η πρώτη καταχώριση στη λίστα. Αφού προσθέσετε το στοιχείο στη λίστα, πρέπει να το αφαιρέσετε από το γραφικό στοιχείο καταχώρισης. Χρησιμοποιήστε τη συνάρτηση διαγραφής για να αφαιρέσετε το κείμενο που έχει εισαχθεί από την αρχή μέχρι το τέλος του μήκους του.

defπρόσθεσε είδος():
my_list.insert (END, my_entry.get())
my_entry.delete(0, ΤΕΛΟΣ)

Ορίστε μια συνάρτηση, cross_off_item(). Χρησιμοποιήστε το item_config() μέθοδο για να αλλάξετε το χρώμα γραμματοσειράς της εργασίας επιλεγμένου στοιχείου στη λίστα σε ένα αμυδρό χρώμα, έχετε διαγράψει το στοιχείο. Διαγράψτε την επιλογή που κάνατε τώρα από την αρχή μέχρι το τέλος του μήκους της.

defcross_off_item():
my_list.itemconfig (my_list.curselection(), fg="#dedede")
my_list.selection_clear(0, ΤΕΛΟΣ)

Ορίστε μια συνάρτηση, uncross_item(). Παρόμοια με την παραπάνω λειτουργία, αλλάξτε το χρώμα της επιλεγμένης εργασίας στο αρχικό και διαγράψτε εντελώς την επιλογή.

defuncross_item():
my_list.itemconfig (my_list.curselection(), fg="#5c4033")
my_list.selection_clear(0, ΤΕΛΟΣ)

Ορίστε μια συνάρτηση, delete_crossed(). Ορίστε μια μεταβλητή μετρητή και επαναλάβετε μέχρι να είναι μικρότερη από το μέγεθος της λίστας. Εάν το χρώμα της γραμματοσειράς του στοιχείου είναι αχνό, διαγράψτε αυτό το στοιχείο από τη λίστα. Διαφορετικά, συνεχίστε την επανάληψη αυξάνοντας τη μεταβλητή μετρητή.

defdelete_crossed():
καταμέτρηση = 0

ενώ count < my_list.size():
αν my_list.itemcget (count, "fg") == "#dedede":
my_list.delete (my_list.index (count))
αλλού:
μετρήστε += 1

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

delete_button = Κουμπί (button_frame, text="Διαγραφή αντικειμένου", command=delete_item, bg="#e7305b", γραμματοσειρά=("arial", 12, "τολμηρός"))
add_button = Κουμπί (button_frame, text="Πρόσθεσε είδος", command=add_item, bg="#e7305b", γραμματοσειρά=("arial", 12, "τολμηρός"))
cross_off_button = Κουμπί (button_frame, text="Σταυρό αντικείμενο", command=cross_off_item, bg="#e7305b", γραμματοσειρά=("arial", 12, "τολμηρός"))
uncross_button = Κουμπί (button_frame, text="Διασταύρωση αντικειμένου", command=uncross_item, bg="#e7305b", γραμματοσειρά=("arial", 12, "τολμηρός"))
delete_crossed_button = Κουμπί (button_frame, text="Διαγραφή σταυρού", command=delete_crossed, bg="#e7305b", γραμματοσειρά=("arial",12, "τολμηρός"))

Οργανώστε τα κουμπιά χρησιμοποιώντας τη διαχείριση πλέγματος σε μία γραμμή και πέντε στήλες. Ρυθμίστε μια επένδυση 0 στην οριζόντια κατεύθυνση για να εκχωρήσετε κάποια απόσταση μεταξύ των κουμπιών,

delete_button.grid (σειρά=0, στήλη=0)
add_button.grid (σειρά=0, στήλη=1, padx=20)
cross_off_button.grid (σειρά=0, στήλη=2)
uncross_button.grid (σειρά=0, στήλη=3, padx=20)
delete_crossed_button.grid (σειρά=0, στήλη=4)

ο mainloop() Η συνάρτηση λέει στην Python να εκτελέσει τον βρόχο συμβάντων Tkinter και να ακούει συμβάντα μέχρι να κλείσει το παράθυρο.

root.mainloop()

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

Έξοδος εφαρμογής To-Do με χρήση Python

Κατά την εκτέλεση του παραπάνω προγράμματος, εμφανίζεται ένα παράθυρο στο οποίο μπορείτε να εισαγάγετε τις εργασίες που θέλετε να ολοκληρώσετε. Όταν προσθέσετε την εργασία και πατήσετε το Πρόσθεσε είδος κουμπί, η εργασία προστίθεται στην οθόνη.

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

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

Κάνοντας κλικ στο Διαγραφή Crossed κουμπί, το πρόγραμμα διαγράφει τη διασταυρωμένη εργασία. Επιλέγοντας οποιοδήποτε στοιχείο και κάνετε κλικ στο Διαγραφή Αντικειμένου κουμπί, το επιλεγμένο στοιχείο αφαιρείται.

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

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

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