Ткинтер Листбок

Tkinter Listbok

Подразумевани ГУИ алат за Питхон се зове Ткинтер. Комбинација Питхон-а и Ткинтер-а чини брзим и једноставним развој ГУИ апликација. Ефикасан објектно оријентисан гејтвеј за Тк ГУИ комплет алата обезбеђује Ткинтер. Једноставно је направити Гуи интерфејс користећи Ткинтер. У оквиру овог водича, показаћемо вам употребу Ткинтер библиотеке за креирање Ткинтер ГУИ-а и додавање виџета за листу листе.

На почетку рада са системом Убунту 20.04, ажурирамо наш систем користећи неке команде у љусци терминала. Покрећемо терминалску апликацију са Цтрл+Алт+Т и додајемо апт инструкцију за „ажурирање“. За извршење је потребна лозинка пријављеног корисника и ажурира цео систем након додавања лозинке.







Након успешне инсталације питхон3, потребно је да инсталирате услужни програм Питхон тк да бисте користили различите виџете у коду. За инсталацију, испробајте следећу команду у области упита терминала:





Инсталација овог услужног програма захтева вашу потврду пре него што се сама заврши. Притисните 'и' након што вам се постави следеће питање:





Након комплетне инсталације овог услужног програма, добијамо следећи оквир за дијалог за „тк“ виџет на екрану терминала. Има два дугмета – једно за излазак и једно за само клик.



Након сталног клика на „Кликни ме!“ дугме, добијамо угласте заграде око текста који садржи. Екран дијалога „Тк“ постаје већи у ширину. Након што додирнете „Прекини
дугме, тк дијалог је затворен са било којим проблемом.

Пример 1:

Започињемо наш први Питхон пример да прикажемо употребу Ткинтер листе у програму. За ово креирамо нову Питхон датотеку и увозимо све повезане функције библиотеке „Ткинтер“. ГУИ објекат „т” је креиран у коду помоћу функције „Тк()”. Омогућава нам да креирамо главни ГУИ прозор на нашем екрану. Функција геометри() се позива коришћењем објекта „т“ из Ткинтер-а за креирање екрана одређене величине.

Сада креирамо ознаку виџета „л“ типа текста на Ткинтер ГУИ екрану са мало текста за означавање виџета. Након тога, креирамо виџет Листбок користећи објекат „т“ у параметрима функције „Листбок“. Функција инсерт() која користи виџет Листбок се позива да дода 5 нових вредности стринга у Листбок са наведеним нумерисањем да би се креирао налог.

Ознака „л” се након тога пакује помоћу функције пацк(). Листбок је спакован. Функција маинлооп() се позива коришћењем „т” објекта Ткинтер-а за креирање основне петље догађаја коју креира корисник. Овако се Листбок користи у Питхон-у преко Ткинтер модула. Програм је сада завршен и спреман за употребу. Хајде да га сачувамо у датотеци и затворимо га.

#!/уср/бин/питхон3
из увоза ткинтер *
т = Тк ( )
т.геометрија ( '200к250' )
л = етикета ( т, текст = 'Моје омиљене боје...' )
листбок = Листбок ( т )
листбок.инсерт ( 1 , 'Бео' )
листбок.инсерт ( два , 'Црн' )
листбок.инсерт ( 3 , 'црвено' )
листбок.инсерт ( 4 , 'Плави' )
листбок.инсерт ( 5 , 'жута' )
л.пацк ( )
листбок.пацк ( )
т.маинлооп ( )

Након што затворимо датотеку, поново покрећемо терминал и наводимо садржај главног директоријума преко „лс“ инструкције. То показује да је ново ажурирана Питхон датотека такође ту. Користимо питхон3 за извршавање Питхон датотеке.

Након извршења, на нашем екрану се отвара следећи ГУИ екран Ткинтера са насловом „тк“. Унутар области сиве боје можете видети означени текст. У белој области можете видети ставке Листбок, односно ставке додате у Листбок помоћу објекта Листбок. Екран ГУИ Ткинтер можете затворити користећи знак крста дат у крајњем десном углу црвеном бојом.

Пример 2:

Хајде да погледамо употребу Листбок-а заједно са неким другим виџетима да бисмо га учинили мало интерактивним. Иста Питхон скрипта се користи у истој датотеци кода са мањим изменама у неким редовима. Додамо нову линију кода у ред број 12 овог кода. Креирамо дугме „б“ на Ткинтер ГУИ екрану користећи функцију „Дугме“ узимајући текст „Делете“ као ознаку дугмета и Ткинтер објекат „т“.

Трећи параметар функције Буттон() садржи команду за брисање ставки Листбок-а користећи АНЦХОР, односно одабир ставке и брисање помоћу дугмета. Ознака, оквир са листом и дугме су спаковани. Главна петља догађаја је креирана за извршавање овог ГУИ.

#!/уср/бин/питхон3
из увоза ткинтер *
т = Тк ( )
т.геометрија ( '200к250' )
л = етикета ( т, текст = 'Моје омиљене боје...' )
листбок = Листбок ( т )
листбок.инсерт ( 1 , 'Бео' )
листбок.инсерт ( два , 'Црн' )
листбок.инсерт ( 3 , 'црвено' )
листбок.инсерт ( 4 , 'Плави' )
листбок.инсерт ( 5 , 'жута' )
б = Дугме ( т, текст = 'Избриши' , цоммнд = ламбда Листа кутија =листбок: листбок.делете ( АНЦХОР ) )
л.пацк ( )
листбок.пацк ( )
б.пацк
т.маинлооп ( )

Извршавамо исту датотеку након што је сачувамо.

Излаз приказује оквир са листом од 5 ставки заједно са дугметом „Избриши“.

Одаберемо „Плаву“ ставку листе и притиснемо дугме „Избриши“.

Изабрана ставка се брише са листе.

Сада ажурирамо исти код да бисмо додали додатну функционалност. Дакле, у 3. реду ажурирамо величину ГУИ прозора. У 5. реду кода додајемо дефиницију за функцију „сховСелецтед()“. Ова функција позива функцију цонфиг() користећи следећи објекат да добије текст изабране ставке из листе „Лбк“. У реду 15, дугме позива функцију сховСелецтед() у свом командном параметру.

#!/уср/бин/питхон3
из увоза ткинтер *
т = Тк ( )
т.геометрија ( '400к300' )
деф сховСелецтед ( ) :
схов.цонфиг ( текст =Лбк.гет ( АНЦХОР ) )
л = етикета ( т, текст = 'Моје омиљене боје...' )
Лбк = Листбок ( т )
Лбк.пацк ( )
Лбк.инсерт ( 1 , 'Бео' )
Лбк.инсерт ( два , 'Црн' )
Лбк.инсерт ( 3 , 'црвено' )
Лбк.инсерт ( 4 , 'Плави' )
Лбк.инсерт ( 5 , 'жута' )
Дугме ( т, текст = 'Прикажи изабрано', цоммнд=сховСелецтед).пацк()
схов = Лабел(т)
схов.пацк
т.маинлооп()

Извршавамо ажурирани код.

Креира се следећи екран листе са дугметом „Прикажи изабрано“.

Бирамо ставку у оквиру листе „Бела“ и тапнемо на дугме „Прикажи изабрано“. „Бели“ текст се приказује на екрану ГУИ после дугмета.

Закључак

То је све о употреби Ткинтер модула у Питхон-у. Додали смо укупно 2 једноставна Питхон примера да видимо како можемо да користимо Листбок у Питхон коду преко Ткинтер библиотеке. Видели смо како се различити виџети могу користити да би Ткинтер ГУИ учинили интерактивнијим, посебно креирање Листбок-а и повезаних дугмади.