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.

instagram viewer

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.