Kalendāra izveide ir lielisks veids, kā uzzināt par GUI lietojumprogrammu izveidi, izmantojot Python Tkinter moduli. Varat izmantot šo lietojumprogrammu, lai pārvaldītu un plānotu pasākumus pirms laika.
Turpinot to, varat paplašināt lietotni, lai izsekotu gaidāmajām sanāksmēm un iestatītu atgādinājumus. Jūs pat varētu ieviest sadarbību ar citu lietotāju kalendāriem, lai izvairītos no plānošanas konfliktiem.
Viss sākas ar GUI kalendāra lietotnes pamata skeletu.
Kalendārs, Tkinter un DateTime moduļi
Lai izveidotu GUI kalendāru, izmantojiet kalendāru, Tkinter un datuma un laika moduli. The Kalendāra modulis nāk ar Python un ļauj izpildīt ar datumu, mēnesi un kalendāru saistītas darbības.
Tkinter ļauj izveidot darbvirsmas lietojumprogrammas. Tā piedāvā dažādus logrīkus, noderīgas bibliotēkas, kanvas objektus un HTML/XML/PDF parsētājus. Lai izveidotu GUI lietojumprogrammu, viss, kas jums jādara, ir:
- Importējiet bibliotēku.
- Izveidojiet logu.
- Pievienojiet logrīkus šim logam.
- Izsauciet galveno notikumu cilpu, lai veiktu darbības, kuru pamatā ir lietotāja mijiedarbība.
Lai instalētu Tkinter savā sistēmā, atveriet termināli un palaidiet:
pip instalēt tkinter
DateTime modulis ir vēl viens iebūvēts. Tā piedāvā vairākas nodarbības, kurās var aplūkot datumus, laikus un laika intervālus. Izmantojot šo moduli, varat izveidot notikumu plānotāju, modinātājs, datuma kalkulators un laika joslas lietojumprogramma.
Kā izveidot GUI kalendāru, izmantojot Python
Šajā sadaļā varat atrast GUI kalendāra pirmkodu, izmantojot Python GitHub repozitorijs.
Sāciet, importējot Tkinter, Calendar un DateTime moduli. Definējiet funkciju, printCalendar. Izmantojiet gūt() metode Spinbox (definēta vēlāk kodā), lai iegūtu lietotāja izvēlēto mēnesi un gadu. Nododiet šīs vērtības kalendāra modulim, lai iegūtu formatētu teksta kalendāru, kas attēlo norādīto gadu un mēnesi. Šis teksts attēlo vienkāršu vientelpas režģi ar dienām, kas sakārtotas nedēļās, sākot no pirmdienas.
Izdzēsiet visus esošos datus no ekrāna. 1.0 norāda lauka sākumu, un beigas norāda lauka beigas. Visbeidzot ievietojiet iepriekš izveidoto kalendāru un parādiet to ekrānā.
no tkinter imports *
imports kalendārs
no datums Laiks imports datums
defprintCalendar():
mēnesis = int (month_box.get())
gads = int (year_box.get())
output_calendar = kalendārs.mēnesis (gads, mēnesis)
calendar_field.delete(1.0, 'beigas')
calendar_field.insert('beigas', izvades_kalendārs)
Definējiet funkciju, atiestatīt. Izdzēsiet ekrānā redzamo saturu un iestatiet mēnesi un gadu uz pašreizējo un izmantojiet config () veids, kā to parādīt ekrānā.
defatiestatīt():
calendar_field.delete(1.0, 'beigas')
month_var.set (pašreizējais_mēnesis)
year_var.set (pašreizējais_gads)
month_box.config (textvariable=month_var)
year_box.config (textvariable=year_var)
Definējiet funkciju, aizveriet, lai iznīcinātu loga displeju, un izejiet no programmas.
defaizveriet():
guiWindow.destroy()
Inicializējiet Tkinter gadījumu un parādiet saknes logu. Iestatiet nosaukumu, izmērus pikseļos un atspējojiet tā izmēru maiņu, saglabājot parametrus kā 0.
ja __nosaukums__ == "__galvenais__":
guiWindow = Tk()
guiWindow.title("GUI kalendārs")
guiWindow.geometry("500x550")
guiWindow.resizable(0, 0)
Definējiet četrus kadrus galvenes nosaukumam, mēneša un gada ierakstam, displejam un pogām. Tas veic konteinera funkciju, vadot citu logrīku izvietošanu. Tas sakārto izkārtojumu un nodrošina šo logrīku polsterējumu, izmantojot ekrānā taisnstūrveida sadaļas.
Sakārtojiet rāmjus blokos, pirms ievietojat tos guiwindow, izmantojot komplekts() metodi. Iestatiet izvēršanas vērtību uz True, lai logrīks varētu mainīt izmērus un paplašināt tā pieejamo vietu. Iestatiet aizpildīt atribūtu abiem, lai logrīks varētu paplašināties un aizņemt visu logu x un y virzienā.
header_frame = Rāmis (guiWindow)
entry_frame = Rāmis (guiWindow)
result_frame = rāmis (guiWindow)
button_frame = rāmis (guiWindow)
header_frame.pack (paplašināt=Taisnība, aizpildiet="abi")
entry_frame.pack (paplašināt=Taisnība, aizpildiet="abi")
result_frame.pack (paplašināt=Taisnība, aizpildiet="abi")
button_frame.pack (paplašināt=Taisnība, aizpildiet="abi")
Norādiet trīs etiķetes galvenei, mēnesim un gadam. Iestatiet vecāku logu, kurā vēlaties to ievietot, tekstu, kas tiks parādīts, fontu stilus un fonta krāsu. Iepakojiet un novietojiet etiķetes atbilstošā vietā. Asociētais IntVar() Ar ieraksta_rāmis lai iestatītu un saņemtu veselus skaitļus.
header_label = Etiķete (header_frame, text="KALENDĀRS",
font=("ariāls", '45', "drosmīgs"), fg="#A020F0")header_label.pack (paplašināt=Taisnība, aizpildiet="abi")
month_label = etiķete (entry_frame, text="Mēnesis:",
font=("ariāls", "20", "drosmīgs"), fg="#000000")year_label = Etiķete (entry_frame, text="Gads:",
font=("ariāls", "20", "drosmīgs"), fg="#000000")
month_label.place (x=30, y=0)
year_label.place (x=275, y=0)
month_var = IntVar (entry_frame)
year_var = IntVar (entry_frame)
Iegūstiet pašreizējo mēnesi, gadu un iestatiet to uz mainīgo IntVar (). Izmantojiet Spinbox logrīku, lai norādītu lietotājam vērtību diapazonu. Iestatiet vērtību diapazonu, ko saturēs Spinbox, platumu, pašreizējo vērtību, kurai tai vajadzētu būt, un fontu stilus. Novietojiet kastes atbilstoši.
pašreizējais_mēnesis = datums.šodien().mēnesis
pašreizējais_gads = datums.šodien().gads
month_var.set (pašreizējais_mēnesis)
year_var.set (pašreizējais_gads)month_box = Spinbox (entry_frame, from_=1, līdz=12, platums="10",
textvariable=month_var, font=("ariāls",'15'))year_box = Spinbox (entry_frame, from_=0000, līdz=3000, platums="10",
textvariable=year_var, font=("ariāls",'15'))
month_box.place (x=130, y=5)
gads_kaste.vieta (x=360, y=5)
Deklarējiet teksta lauku un iestatiet tā pamatlogu, platumu, augstumu, fonta stilu, 3D animācijas stilu un apmales platumu. Sakārtojiet teksta logrīku un deklarējiet trīs pogas, lai parādītu, atiestatītu un aizvērtu logu. Pogām ir papildu fona krāsas rekvizīts un komandas rekvizīts.
Izmantojot komandas rekvizītu, varat iestatīt funkciju, kas tai jāizpilda pēc noklikšķināšanas. Novietojiet pogas vienā rindā ar pietiekamu atstarpi starp tām.
calendar_field = Teksts (rezultāta_rāmis, platums=20, augstums=8,
font=("kurjers", "18"), reljefs=RIDGE, apmales platums=2)calendar_field.pack()
display_button = Poga (button_frame, text="DISPLAY", bg="#A020F0",
fg="#E0FFFF", command=printCalendar, font=("ariāls", '15'))reset_button = Poga (button_frame, text="RESET", bg="#A020F0",
fg="#E0FFFF", komanda=atiestatīt, fonts=("ariāls",'15'))close_button = Poga (button_frame, text="Aizvērt", bg="#A020F0",
fg="#E0FFFF", komanda=aizvērt, font=("ariāls",'15'))
display_button.place (x=55, y=0)
reset_button.place (x=210, y=0)
close_button.place (x=350, y=0)
The mainloop() funkcija liek Python palaist Tkinter notikumu cilpu un klausīties notikumus (piemēram, pogas nospiešanu), līdz aizverat logu.
guiWindow.mainloop()
Salieciet visu kodu, lai redzētu savu GUI kalendāru darbībā.
GUI kalendāra izvades paraugs
Palaižot programmu virs programmas, tiek parādīts logs ar pašreizējo mēnesi un datumu. Noklikšķinot uz pogas Atiestatīt, tiek parādīts tas pats ekrāns.
Iestatot mēnesi uz 3 un gadu uz 2000. gada, programma parāda kalendāru 2000. gada martam. Nospiežot pogu Aizvērt, programma iznīcina logu un aptur tā izpildi.
Pieņemiet dažus iesācēju GUI projektus, izmantojot Python
GUI lietojumprogrammu izveide nekad nav bijusi tik vienkārša. Python Tkinter modulis nodrošina daudz noderīgu logrīku, kurus varat pilnībā pielāgot, izmantojot ļoti mazu kodu. Līdz ar to jūs saņemat piekļuvi izkārtojuma pārvaldniekiem, piemēram, pakotnei, režģim un vietai, lai novietotu elementus atbilstoši jūsu vēlmēm.
Lai sāktu, varat izveidot mašīnrakstīšanas pārbaudes spēli, krāsu paleti, valūtas konvertētāju vai kalkulatoru. Šīs lietojumprogrammas ir jautri veidot, un tās viegli attīstīs jūsu objektorientētās programmēšanas prasmes.