Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Прављење календара је одличан начин да научите о креирању ГУИ апликација помоћу Питхон Ткинтер модула. Ову апликацију можете користити за управљање и планирање догађаја унапред.

Даље, можете проширити апликацију за праћење предстојећих састанака и постављање подсетника. Можете чак да уведете сарадњу са календарима других корисника да бисте избегли сукобе у распореду.

Све почиње са основним скелетом апликације ГУИ Цалендар.

Модули Календар, Ткинтер и ДатеТиме

Да бисте направили ГУИ календар, користићете календар, Ткинтер и модул ДатеТиме. Тхе Календарски модул долази са Питхон-ом и омогућава вам да извршите радње везане за датум, месец и календар.

Ткинтер вам омогућава да креирате десктоп апликације. Нуди разне виџете, корисне библиотеке, платнене објекте и ХТМЛ/КСМЛ/ПДФ парсере. Да бисте направили ГУИ апликацију, све што треба да урадите је:

  1. Увезите библиотеку.
  2. instagram viewer
  3. Направите прозор.
  4. Додајте виџете у тај прозор.
  5. Позовите главну петљу догађаја да бисте извршили радње на основу интеракције корисника.

Да бисте инсталирали Ткинтер у свој систем, отворите терминал и покрените:

пип инсталл ткинтер

Модул ДатеТиме је још један који је уграђен. Нуди неколико класа које се могу бавити датумима, временима и временским интервалима. Помоћу овог модула можете направити планер догађаја, аларм, калкулатор датума и апликација за временску зону.

Како направити ГУИ календар користећи Питхон

Можете пронаћи изворни код ГУИ календара користећи Питхон у овоме ГитХуб спремиште.

Започните увозом модула Ткинтер, Цалендар и ДатеТиме. Дефинишите функцију, принтЦалендар. Користити добити() метод на Спинбок-у (дефинисан касније у коду) за издвајање месеца и године које је корисник изабрао. Проследите ове вредности модулу календара да бисте добили форматирани текстуални календар који представља наведену годину и месец. Овај текст представља једноставну монопросторну мрежу, са данима распоређеним у недељама почевши од понедељка.

Обришите све постојеће податке са екрана. 1.0 означава почетак поља, и крај означава крај поља. На крају, убаците раније генерисани календар и прикажите га на екрану.

из ткинтер увоз *
увоз календар
из Датум време увоз датум

дефпринтЦалендар():
месец = инт (монтх_бок.гет())
година = инт (иеар_бок.гет())
оутпут_цалендар = цалендар.монтх (година, месец)
цалендар_фиелд.делете(1.0, 'крај')
цалендар_фиелд.инсерт('крај', оутпут_цалендар)

Дефинишите функцију, ресетовати. Обришите садржај на екрану и подесите месец и годину на садашњост и користите цонфиг() начин да га прикажете на екрану.

дефресетовати():
цалендар_фиелд.делете(1.0, 'крај')
монтх_вар.сет (тренутни_месец)
иеар_вар.сет (тренутна_година)
монтх_бок.цонфиг (тектвариабле=монтх_вар)
иеар_бок.цонфиг (тектвариабле=иеар_вар)

Дефинишите функцију, затворите да бисте уништили приказ прозора и изађите из програма.

дефБлизу():
гуиВиндов.дестрои()

Иницијализујте Ткинтер инстанцу и прикажите основни прозор. Подесите наслов, димензије у пикселима и онемогућите његову промену величине задржавајући параметре као 0.

ако __наме__ == "__главни__":
гуиВиндов = Тк()
гуиВиндов.титле(„ГУИ календар“)
гуиВиндов.геометри('500к550')
гуиВиндов.ресизабле(0, 0)

Дефинишите четири оквира за наслов заглавља, унос месеца и године, екран и дугмад. Обавља функцију контејнера, усмеравајући постављање других виџета. Он уређује распоред и обезбеђује допуну за ове виџете користећи правоугаоне делове на екрану.

Организујте оквире у блокове пре него што их ставите у прозор помоћу паковање() методом. Подесите вредност проширења на тачно да бисте омогућили да виџет промени величину и прошири се у свом доступном простору. Подесите испунити атрибут за оба да би се омогућило да се виџет прошири и заузме цео прозор у правцу к и у.

 хеадер_фраме = Оквир (гуиВиндов)
ентри_фраме = Оквир (гуиВиндов)
ресулт_фраме = Оквир (гуиВиндов)
буттон_фраме = Оквир (гуиВиндов)

хеадер_фраме.пацк (екпанд=Истина, филл="и једно и друго")
ентри_фраме.пацк (екпанд=Истина, филл="и једно и друго")
ресулт_фраме.пацк (екпанд=Истина, филл="и једно и друго")
буттон_фраме.пацк (екпанд=Истина, филл="и једно и друго")

Наведите три ознаке за заглавље, месец и годину. Подесите родитељски прозор у који желите да га поставите, текст који ће приказати, стилове фонта заједно са бојом фонта. Спакујте и поставите етикете на одговарајући положај. стручни сарадник ИнтВар() са ентри_фраме за постављање и примање целобројних података.

 хеадер_лабел = Ознака (хеадер_фраме, тект="КАЛЕНДАР",
фонт=('ариал', '45', 'одважан'), фг="#А020Ф0")

хеадер_лабел.пацк (екпанд=Истина, филл="и једно и друго")

монтх_лабел = Ознака (ентри_фраме, тект="Месец дана:",
фонт=("ариал", "20", "одважан"), фг="#000000")

иеар_лабел = Ознака (ентри_фраме, тект="Година:",
фонт=("ариал", "20", "одважан"), фг="#000000")

месец_ознака.место (к=30, и=0)
година_ознака.место (к=275, и=0)
монтх_вар = ИнтВар (ентри_фраме)
иеар_вар = ИнтВар (ентри_фраме)

Узмите тренутни месец, годину и подесите га на променљиву ИнтВар(). Користите Спинбок виџет да одредите опсег вредности за корисника. Подесите опсег вредности које ће Спинбок садржати, ширину, тренутну вредност коју треба да садржи и стилове фонта. Поставите кутије на одговарајући начин.

 текући_месец = датум.данас().месец
текућа_година = датум.данас().година
монтх_вар.сет (тренутни_месец)
иеар_вар.сет (тренутна_година)

монтх_бок = Спинбок (ентри_фраме, фром_=1, то=12, ширина="10",
тектвариабле=монтх_вар, фонт=('ариал','15'))

иеар_бок = Спинбок (ентри_фраме, фром_=0000, то=3000, ширина="10",
тектвариабле=иеар_вар, фонт=('ариал','15'))

месец_кутија.место (к=130, и=5)
година_кутија.место (к=360, и=5)

Декларисајте текстуално поље и подесите његов надређени прозор, ширину, висину, стил фонта, стил 3Д анимације и ширину ивице. Организујте текстуални виџет и прогласите три дугмета за приказ, ресетовање и затварање прозора. Дугмад садрже додатно својство боје позадине и својство команде.

Користећи својство команде, можете подесити функцију коју треба да изврши након клика. Поставите дугмад у један ред са довољно простора између сваког од њих.

 цалендар_фиелд = Текст (оквир_резултата, ширина=20, висина=8,
фонт=("Курир", "18"), рељеф=ГРЕБЕН, ширина границе=2)

цалендар_фиелд.пацк()

дисплаи_буттон = Дугме (буттон_фраме, тект="ПРИКАЗ", бг="#А020Ф0",
фг=„#Е0ФФФФ“, цомманд=принтЦалендар, фонт=('ариал', '15'))

ресет_буттон = Дугме (буттон_фраме, тект="РЕСЕТОВАЊЕ", бг="#А020Ф0",
фг=„#Е0ФФФФ“, цомманд=ресет, фонт=('ариал','15'))

цлосе_буттон = Дугме (буттон_фраме, тект="БЛИЗУ", бг="#А020Ф0",
фг=„#Е0ФФФФ“, цомманд=цлосе, фонт=('ариал','15'))

дисплаи_буттон.плаце (к=55, и=0)
ресет_буттон.плаце (к=210, и=0)
цлосе_буттон.плаце (к=350, и=0)

Тхе маинлооп() функција каже Питхон-у да покрене Ткинтер петљу догађаја и ослушкује догађаје (као што је притисак на дугме) док не затворите прозор.

 гуиВиндов.маинлооп()

Саставите сав код да бисте видели свој ГУИ календар у акцији.

Пример излаза ГУИ календара

По покретању програма изнад програма приказује се прозор са тренутним месецом и датумом. Дугме Ресет приказује исти екран када се кликне.

Када се месец постави на 3, а година на 2000, програм приказује календар за март 2000. Притиском на дугме Затвори, програм уништава прозор и зауставља његово извршавање.

Преузми неке ГУИ пројекте за почетнике користећи Питхон

Прављење ГУИ апликација никада није било лакше. Питхон-ов Ткинтер модул пружа много корисних виџета које можете у потпуности прилагодити са врло мало кода. Уз то, добијате приступ менаџерима распореда као што су пакети, мрежа и елементи за постављање према вашој жељи.

Можете да направите пробну игру за куцање, палету боја, конвертор валута или калкулатор да бисте започели. Ове апликације су забавне за прављење и са лакоћом ће развити ваше објектно оријентисане вештине програмирања.