Aplikace To-Do je klasický projekt pro každého začínajícího programátora. Zjistěte, jak jej vytvořit pomocí Pythonu a Tkinteru.

Aplikace To-Do, někdy označovaná jako správce úloh, umožňuje uživatelům efektivněji organizovat a spravovat jejich úkoly. Můžete si vytvořit seznam denních nebo týdenních úkolů, nastavit termíny a připomenutí, stanovit jim priority, sledovat jejich průběh a sdílet je s ostatními.

Aplikace To-Do vám umožní řídit čas, zvýšit produktivitu a snížit stres. Jak tedy můžete vytvořit jeden v Pythonu?

Modul Tkinter

K vytvoření aplikace To-Do můžete použít Tkinter. Tkinter vám umožňuje vytvářet desktopové aplikace. Nabízí řadu widgetů, jako jsou tlačítka, štítky a textová pole, které usnadňují vývoj aplikací. Některé aplikace, které můžete vyvíjet pomocí Tkinter, zahrnují a Slovníková aplikace, Hudební přehrávač, a Nástroj pro převod hmotnostia a Slovní míchanice.

Chcete-li nainstalovat Tkinter, otevřete terminál a spusťte:

pip nainstalovat tkinter

Jak vytvořit To-Do aplikace pomocí Pythonu

Zdrojový kód aplikace To-Do najdete v tomto úložiště GitHub.

Importujte modul Tkinter a inicializujte kořenové okno. Za použití konfigurovat() funkce, nastavte barvu pozadí. Nastavte také nadpis a velikost okna.

z tkinter import *
z tkinter.font import Písmo

kořen = Tk()
root.configure (pozadí="#A020f0")
root.title(Aplikace „To-Do List“)
root.geometry("750x500")

Definujte styl písma a widget rámečku. Rámec funguje jako kontejner a je zodpovědný za uspořádání pozice ostatních widgetů. Nastavte rodičovské okno, do kterého jej chcete umístit, a dejte mu svislé odsazení 10.

Definujte widget seznamu. Tato komponenta zobrazuje seznam položek, které může uživatel vybrat. Nastavte rodičovské okno, do kterého jej chcete umístit, styl písma, šířku, výšku, barvu pozadí, šířku ohraničení a barvu písma. Také nastavte tloušťku zvýraznění fokusu, barvu pozadí, kterou by mělo mít při výběru, a vzhled aktivní čáry jako Žádný.

Uspořádejte seznam tak, že jej umístíte na levou stranu a řeknete mu, aby zaplnil jakékoli místo navíc v obou směrech.

my_font = Písmo (rodina="Arial", velikost =22, váha ="tučně")
my_frame = rámec (kořen)
my_frame.pack (pady=10)

my_list = Seznam (můj_rámec, font=můj_font, šířka=40, výška=7, bg="#cf9fff", bd=0, fg="#5c4033", tloušťka zvýraznění=0, vyberte pozadí="#ff0000", activestyle="žádný")
my_list.pack (strana=LEVÁ, výplň=OBĚ)

Definujte posuvník, který program zobrazí na pravé straně rámečku, a vyplní tak prostor navíc v obou směrech. Použijte config() způsob, jak svázat posuvník s widgetem seznamu, který jste definovali dříve. Při nastavení hodnoty yscrollcommand tak jako my_scrollbar.set získá aktuální pozici posuvníku při interakci uživatele.

Při nastavení parametru příkazu jako my_list.yview, pohyb posuvníku se propojí s funkcemi nahoru a dolů. Když tedy uživatel interaguje s posuvníkem, zobrazení seznamu se odpovídajícím způsobem změní.

my_scrollbar = posuvník (my_frame)
my_scrollbar.pack (strana=RIGHT, fill=BOTH)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)

Definujte vstupní widget, který bude přijímat úkoly jako vstup od uživatele. Nastavte rodičovské okno, do kterého jej chcete umístit, styl písma, šířku a barvu pozadí. Uspořádejte to přidáním výplně 20 ve svislém směru.

Definujte rámeček pro uspořádání tlačítek. Umístěte je do kořenového okna a dejte mu barvu pozadí. Uspořádejte rám s polstrováním 20 také ve vertikálním směru.

my_entry = Záznam (root, font=("Arial", 22), šířka=26, bg='#cf9fff')
my_entry.pack (pady=20)

button_frame = Rámec (kořen, bg='#a020f0')
button_frame.pack (pady=20)

Definujte funkci, delete_item(). Předat KOTVA parametr na funkci odstranění pro odstranění vybrané položky ze seznamu.

defodstranit_položku():
my_list.delete (ANCHOR)

Definujte funkci, přidat položku(). Použijte dostat() funkce pro načtení hodnoty zadané uživatelem na konec seznamu. Pokud je seznam prázdný, přidaný prvek se stane prvním záznamem v seznamu. Po přidání prvku do seznamu jej musíte odstranit ze vstupního widgetu. Pomocí funkce mazání odstraníte text vložený od začátku do konce jeho délky.

defpřidat položku():
my_list.insert (END, my_entry.get())
my_entry.delete(0, KONEC)

Definujte funkci, cross_off_item(). Použijte item_config() způsob změny barvy písma vybrané položky úkolu v seznamu na slabou barvu, položku jste přeškrtli. Vymažte výběr, který jste nyní provedli, od začátku do konce jeho délky.

defcross_off_item():
my_list.itemconfig (my_list.curselection(), fg="#dedede")
my_list.selection_clear(0, KONEC)

Definujte funkci, uncross_item(). Podobně jako u výše uvedené funkce změňte barvu vybraného úkolu zpět na původní a výběr zcela zrušte.

defuncross_item():
my_list.itemconfig (my_list.curselection(), fg="#5c4033")
my_list.selection_clear(0, KONEC)

Definujte funkci, delete_crossed(). Definujte proměnnou čítače a opakujte, dokud nebude menší než velikost seznamu. Pokud je barva písma položky slabá, odstraňte tuto položku ze seznamu. V opačném případě pokračujte v iteraci zvýšením proměnné čítače.

defdelete_crossed():
počítat = 0

zatímco počet < můj_seznam.velikost():
-li my_list.itemcget (počet, "fg") == "#dedede":
my_list.delete (my_list.index (count))
jiný:
počítat += 1

Definujte pět tlačítek: odstranit, přidat, odškrtnout, odškrtnout a odstranit přeškrtnuté. Umístěte tlačítka do rámečku tlačítka, který jste vytvořili dříve. Nastavte text, který má každé tlačítko zobrazit, funkci, kterou má spustit, když na něj kliknete, barvu pozadí a styl písma.

delete_button = Tlačítko (button_frame, text="Smazat položku", command=delete_item, bg="#e7305b", font=("arial", 12, "tučně"))
add_button = Tlačítko (button_frame, text="Přidat položku", command=add_item, bg="#e7305b", font=("arial", 12, "tučně"))
cross_off_button = Tlačítko (rámeček_tlačítka, text="Vyškrtnout položku", command=cross_off_item, bg="#e7305b", font=("arial", 12, "tučně"))
uncross_button = Tlačítko (button_frame, text="Zrušit křížení položky", command=uncross_item, bg="#e7305b", font=("arial", 12, "tučně"))
delete_crossed_button = Tlačítko (button_frame, text="Smazat přeškrtnuté", command=delete_crossed, bg="#e7305b", font=("arial",12, "tučně"))

Uspořádejte tlačítka pomocí správce mřížky do jednoho řádku a pěti sloupců. Nastavte odsazení 0 ve vodorovném směru, aby se mezi tlačítky vytvořila určitá mezera,

delete_button.grid (řádek=0, sloupec=0)
add_button.grid (row=0, sloupec=1, padx=20)
cross_off_button.grid (řádek=0, sloupec=2)
uncross_button.grid (row=0, sloupec=3, padx=20)
delete_crossed_button.grid (row=0, sloupec=4)

The mainloop() Funkce říká Pythonu, aby spustil smyčku událostí Tkinter a naslouchal událostem, dokud nezavřete okno.

root.mainloop()

Dejte celý kód dohromady a nikdy nezmeškejte žádný úkol pomocí této efektivní aplikace Seznam úkolů.

Výstup To-Do aplikace pomocí Pythonu

Při spuštění výše uvedeného programu se zobrazí okno, ve kterém můžete zadat úkoly, které chcete dokončit. Po přidání úkolu a stisknutí tlačítka Přidat položku tlačítko, úkol se přidá na obrazovku.

Při výběru libovolného z úkolů pomocí myši/klávesnice a kliknutí na Odškrtnout položku tlačítko, vybraný úkol změní barvu a zesvětlí.

Po výběru přeškrtnuté položky a kliknutí na Uncross Item tlačítko, program zvýrazní úkol zpět na jeho původní barvu.

Po kliknutí na Smazat přeškrtnuté tlačítko, program přeškrtnutý úkol smaže. Při výběru libovolné položky a kliknutí na Smazat položku tlačítkem se vybraná položka odstraní.

Aplikace, které můžete vytvořit pomocí Pythonu pro zvýšení vaší produktivity

Můžete vytvářet aplikace, jako je RescueTime, která sleduje, kolik času uživatel stráví na které aplikaci. Takové aplikace vám mohou pomoci zjistit, které webové stránky vás nejvíce rozptylují. Kromě toho se můžete inspirovat Trello a vytvářet nástěnky se seznamy úkolů, termíny a připomenutími.

Hudební aplikace, která přehrává speciálně navržený seznam skladeb, může uživatelům pomoci soustředit se a soustředit se na práci. Můžete dokonce automatizovat programy GUI pro provádění opakujících se úkolů, jako jsou přihlašovací procesy a skripty pro interakci s pracovní plochou.