A To-Do alkalmazás klasszikus projekt minden kezdő programozó számára. Ismerje meg, hogyan készíthet egyet Python és Tkinter használatával.
A To-Do alkalmazások, amelyeket néha feladatkezelőnek is neveznek, lehetővé teszik a felhasználók számára, hogy hatékonyabban szervezzék és kezeljék feladataikat. Létrehozhat egy listát a napi vagy heti feladatokról, határidőket és emlékeztetőket állíthat be, rangsorolhatja őket, nyomon követheti az előrehaladásukat, és megoszthatja azokat másokkal.
A To-Do alkalmazás lehetővé teszi az idő kezelését, a termelékenység növelését és a stressz csökkentését. Szóval, hogyan építhetsz egyet Pythonban?
A Tkinter modul
A Tkinter segítségével elkészítheti a To-Do alkalmazást. A Tkinter lehetővé teszi az asztali alkalmazások létrehozását. Számos widgetet kínál, például gombokat, címkéket és szövegdobozokat, amelyek megkönnyítik az alkalmazások fejlesztését. Néhány alkalmazás, amelyet a Tkinter segítségével fejleszthet, többek között a Szótár alkalmazás, Zenelejátszó, a Súlyátalakító eszközés a Word Jumble játék.
A Tkinter telepítéséhez nyisson meg egy terminált, és futtassa:
pip install tkinter
Hogyan készítsünk feladat-alkalmazást Python használatával
A To-Do Application forráskódját ebben találja GitHub adattár.
Importálja a Tkinter modult, és inicializálja a gyökérablakot. Használni a Beállítás() funkciót, állítsa be a háttérszínt. Adja meg az ablak címét és méretét is.
tól től tkinter import *
tól től tkinter.font import Betűtípus
gyökér = Tk()
root.configure (background="#A020f0")
root.title("Teendőlista alkalmazás")
root.geometry("750x500")
Határozzon meg egy betűstílust és egy keret widgetet. A keret konténerként működik, és felelős a többi widgetek pozíciójának elrendezéséért. Állítsa be a szülőablakot, amelybe el szeretné helyezni, és adjon neki 10-es függőleges kitöltést.
Határozzon meg egy listbox widgetet. Ez az összetevő megjeleníti a felhasználó által kiválasztható elemek listáját. Állítsa be a szülőablakot, amelybe el szeretné helyezni, a betűstílust, a szélességet, a magasságot, a háttérszínt, a keret szélességét és a betűszínt. Ezenkívül állítsa be a fókusz kiemelésének vastagságát, a háttérszínt, amelynek kijelöléskor rendelkeznie kell, és az aktív vonal megjelenését Egyik sem.
Rendszerezze a listát úgy, hogy a bal oldalra helyezi, és azt mondja, hogy mindkét irányban töltse ki a további helyet.
my_font = Betűtípus (család="Arial", méret=22, súly="bátor")
my_frame = Keret (gyökér)
my_frame.pack (pady=10)
my_list = Listbox (my_frame, font=my_font, width=40, magasság=7, bg="#cf9fff", bd=0, fg="#5c4033", kiemelt vastagság=0, válasszon hátteret="#ff0000", activestyle="egyik sem")
my_list.pack (oldal=BAL, fill=MINDKETT)
Határozzon meg egy görgetősávot, amelyet a program a keret jobb oldalán jelenít meg, mindkét irányban kitöltve az esetleges extra helyet. Használja a config() módszerrel a görgetősávot a korábban meghatározott listbox widgethez kötheti. Az érték beállításánál a yscrollcommand mint my_scrollbar.set a felhasználói interakció során megkapja a görgetősáv aktuális pozícióját.
A parancsparaméter beállításakor mint my_list.yview, a görgetősáv mozgása a fel és le funkciókhoz kapcsolódik. Tehát amikor a felhasználó a görgetősávval lép kapcsolatba, a listamező nézetei ennek megfelelően módosulnak.
my_scrollbar = Görgetősáv (my_frame)
my_scrollbar.pack (oldal=JOBB, fill=MINDKETT)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)
Határozzon meg egy beviteli widgetet, amely fogadja a feladatokat a felhasználótól. Állítsa be a szülőablakot, amelybe el szeretné helyezni, a betűstílust, a szélességet és a háttérszínt. Rendszerezze úgy, hogy függőleges irányban 20-as párnát ad hozzá.
Határozzon meg egy keretet a gombok rendszerezéséhez. Helyezze őket a gyökérablakba, és adja meg a háttérszínt. A keretet függőleges irányban is 20-as párnázással rendezze.
my_entry = Bejegyzés (root, font=("Arial", 22), szélesség=26, bg="#cf9fff")
my_entry.pack (pady=20)
button_frame = Keret (gyökér, bg="#a020f0")
button_frame.pack (pady=20)
Határozzon meg egy függvényt, delete_item(). Adja át a HORGONY paramétert a törlés funkcióhoz a kiválasztott elem listából való eltávolításához.
defelem törlése():
my_list.delete (ANCHOR)
Határozzon meg egy függvényt, add_item(). Használja a kap() függvény a felhasználó által bevitt érték visszakéréséhez a lista végére. Ha a lista üres, a hozzáadott elem lesz az első bejegyzés a listában. Miután hozzáadta az elemet a listához, el kell távolítania a bejegyzés widgetből. Használja a törlés funkciót a hossza elejétől a végéig beszúrt szöveg eltávolításához.
defadd_item():
my_list.insert (END, my_entry.get())
my_entry.delete(0, VÉGE)
Határozzon meg egy függvényt, cross_off_item(). Használja a item_config() metódussal módosíthatja a listában a kijelölt elemfeladat betűszínét halvány színre, akkor áthúzta az elemet. Törölje a most kiválasztott kijelölést az elejétől a végéig.
defcross_off_item():
my_list.itemconfig (my_list.curselection(), fg="#dedede")
my_list.selection_clear(0, VÉGE)
Határozzon meg egy függvényt, uncross_item(). A fenti funkcióhoz hasonlóan állítsa vissza a kiválasztott feladat színét az eredetire, és teljesen törölje a kijelölést.
defuncross_item():
my_list.itemconfig (my_list.curselection(), fg="#5c4033")
my_list.selection_clear(0, VÉGE)
Határozzon meg egy függvényt, delete_crossed(). Határozzon meg egy számlálóváltozót, és addig iterálja, amíg az kisebb lesz, mint a lista mérete. Ha az elem betűszíne halvány, törölje az elemet a listából. Ellenkező esetben folytassa az iterációt a számlálóváltozó növelésével.
defdelete_crossed():
szám = 0
míg count < my_list.size():
ha my_list.itemcget (count, "fg") == "#dedede":
my_list.delete (my_list.index (count))
más:
szám += 1
Határozzon meg öt gombot: törlés, hozzáadása, áthúzás, áthúzás megszüntetése és áthúzott törlés. Helyezze a gombokat a korábban létrehozott gombkeretbe. Állítsa be, hogy az egyes gombok milyen szöveget jelenítsenek meg, milyen funkciót kell futtatnia, amikor rákattint, a háttérszínt és a betűstílust.
delete_button = Gomb (button_frame, text="Elem törlése", parancs=elem_törlése, bg="#e7305b", font=("arial", 12, "bátor"))
add_button = Gomb (button_frame, text="Elem hozzáadása", parancs=elem hozzáadása, bg="#e7305b", font=("arial", 12, "bátor"))
cross_off_button = Gomb (button_frame, text="Áthúzott tétel", parancs=cross_off_item, bg="#e7305b", font=("arial", 12, "bátor"))
uncross_button = Gomb (button_frame, text="Elem keresztezése", parancs=uncross_item, bg="#e7305b", font=("arial", 12, "bátor"))
delete_crossed_button = Gomb (button_frame, text="A keresztezett törlése", command=delete_crossed, bg="#e7305b", font=("arial",12, "bátor"))
A gombokat a rácskezelővel egyetlen sorba és öt oszlopba rendezheti. Állítson be egy 0-t vízszintes irányban, hogy a gombok között legyen némi távolság,
delete_button.grid (sor=0, oszlop=0)
add_button.grid (sor=0, oszlop=1, padx=20)
cross_off_button.grid (sor=0, oszlop=2)
uncross_button.grid (sor=0, oszlop=3, padx=20)
delete_crossed_button.grid (row=0, oszlop=4)
A mainloop() függvény azt mondja a Pythonnak, hogy futtassa a Tkinter eseményhurkot, és figyelje az eseményeket, amíg be nem zárja az ablakot.
root.mainloop()
Helyezze össze az összes kódot, és soha ne maradjon le egyetlen feladatról sem ezzel a hatékony To-Do List alkalmazással.
A teendők alkalmazásának kimenete Python használatával
A fenti program futtatásakor megjelenik egy ablak, amelyben megadhatja az elvégzendő feladatokat. A feladat hozzáadásakor és a gomb megnyomására Elem hozzáadása gombot, a feladat megjelenik a képernyőn.
Amikor kiválasztja bármelyik feladatot az egérrel/billentyűzettel, és rákattint a Áthúzott tétel gombot, a kiválasztott feladat színe megváltozik, és elhalványul.
Az áthúzott elem kiválasztásakor és a gombra kattintva Elem keresztezésének megszüntetése gombot, a program az eredeti színre emeli vissza a feladatot.
A gombra kattintva Keresztezett törlése gombot, a program törli az áthúzott feladatot. Amikor kiválaszt egy elemet, és rákattint a Elem törlése gombot, a kiválasztott elem eltávolításra kerül.
Alkalmazások, amelyeket Python használatával készíthet a termelékenység növelésére
Létrehozhat olyan alkalmazásokat, mint például a RescueTime, amely nyomon követi, hogy a felhasználó mennyi időt tölt az alkalmazással. Az ilyen alkalmazások segíthetnek felfedezni, hogy mely webhelyek vonják el leginkább a figyelmét. Ezen túlmenően, ihletet meríthet a Trellóból teendőlisták, határidők és emlékeztetők tábláinak létrehozásához.
Egy speciálisan kialakított lejátszási listát lejátszó zenei alkalmazás segíthet a felhasználóknak koncentrálni és a munkára koncentrálni. Sőt, automatizálhatja a grafikus felhasználói felületű programokat is, hogy olyan ismétlődő feladatokat hajtsanak végre, mint a bejelentkezési folyamatok és a szkriptek az asztallal való interakcióhoz.