Питхон

Како створити једноставну апликацију у Питхону и ГТК3

Како створити једноставну апликацију у Питхону и ГТК3
Овај чланак ће вам објаснити како створити графичку „Хелло Ворлд“ апликацију у Линуку користећи програмски језик Питхон 3 и ГТК3 ГУИ фрамеворк. Сви узорци кода у водичу тестирани су са Питхон 3.8.6 и ГТК 3.24.23 на Убунту 20.10.

Инсталирајте неопходне пакете

Да бисте креирали апликацију помоћу Питхон 3 и ГТК3, потребно је да инсталирате Питхон везиве за ГОбјецт библиотеке. То се може постићи инсталирањем пакета ПиГОбјецт који је укључен у спремишта готово свих главних Линук дистрибуција. Да бисте инсталирали ове зависности у Убунту, можете користити наредбу испод:

$ судо апт инсталирај питхон3 питхон3-ги

Такође можете компајлирати ПиГОбјецт из изворног кода који је овде доступан.

Пун код апликације Хелло Ворлд

Комплетан узорак кода апликације Хелло Ворлд написане на Питхон 3 и ГТК3 можете пронаћи у наставку. Ова апликација шаље „Хелло Ворлд !!”Обавештење на радној површини кликом на дугме.

увоз ги
ги.рекуире_версион ("Гтк", "3.0 ")
ги.рекуире_версион ('Обавести', '0.7 ')
од ги.репозиторијум увоз Гтк
од ги.репозиторијум увоз Обавести
класе МиВиндов (Гтк.Прозор):
деф __инит __ (селф):
Гтк.Прозор.__инит __ (селф, титле = "Здраво, свет")
Гтк.Прозор.сет_дефаулт_сизе (селф, 640, 480)
Обавести.инит ("Једноставна ГТК3 апликација")
себе.кутија = Гтк.Кутија (размак = 6)
себе.додати (само.кутија)
себе.буттон = Гтк.Дугме (лабел = "Кликните овде")
себе.дугме.сет_халигн (Гтк.Поравнајте.ЦЕНТАР)
себе.дугме.сет_валигн (Гтк.Поравнајте.ЦЕНТАР)
себе.дугме.повезати („кликнуо“, само.он_буттон_цлицкед)
себе.кутија.пацк_старт (селф.дугме, Тачно, Тачно, 0)
деф он_буттон_цлицкед (селф, видгет):
н = Обавести.Обавештење.ново („Једноставна апликација ГТК3“, „Здраво, свет !!")
н.Прикажи()
вин = МиВиндов ()
победити.повезати („уништити“, Гтк.маин_куит)
победити.Покажи све()
Гтк.главни()

Снимак екрана коначног резултата.

Обавештење на радној површини које стиже када се кликне на дугме „Кликните овде“:

Детаљно објашњење

Разни “импорт” изрази у првих неколико редова кода увозе потребне модуле потребне за рад апликације. Ови модули излажу бројне класе и функције које се могу користити у апликацији. „Ги.рекуире_версион “изјаве осигуравају да се увози само потребна верзија библиотеке како би се избегли проблеми са компатибилношћу и падови. У овом случају „3.0 ”користи се да би се осигурало да се у апликацији користи библиотека ГТК3, а не ГТК2 или било која друга верзија ГТК.

Слично класи ГТК, класа Нотифи се такође увози навођењем потребне верзије (0.7 је најновија верзија у време писања овог чланка). Ова класа ће се користити касније у апликацији.

увоз ги
ги.рекуире_версион ("Гтк", "3.0 ")
ги.рекуире_версион ('Обавести', '0.7 ')
од ги.репозиторијум увоз Гтк
од ги.репозиторијум увоз Обавести

Следећа подкласа изјава „Гтк.Виндов “класа као класа„ МиВиндов “. „Гтк.Прозор.__инит__ ”метода иницијализује конструктор супер класе (Гтк.Виндов) из којег је створена подкласа (МиВиндов). У конструктору је наслов апликације такође постављен као „Хелло Ворлд“ користећи аргумент „титле“. Подразумевана геометрија прозора апликације се такође поставља одређивањем ширине и висине у методи „сет_дефаулт_сизе“.

класе МиВиндов (Гтк.Прозор):
деф __инит __ (селф):
Гтк.Прозор.__инит __ (селф, титле = "Здраво, свет")
Гтк.Прозор.сет_дефаулт_сизе (селф, 640, 480)

Даље, метода „инит“ класе Нотифи користи се за иницијализацију библиотеке „либнотифи“ давањем наслова апликације. Без иницијализације, обавештења се неће слати и приказивати на Линук радној површини.

Обавести.инит ("Једноставна ГТК3 апликација")

Израз „оквир“ додаје празан контејнер изгледа у главни прозор апликације. Овај контејнер је попут празног платна на које се може ставити било који број виџета. „Размак“ се односи на размак између виџета у јединицама „пиксела“.

себе.кутија = Гтк.Кутија (размак = 6)
себе.додати (само.кутија)

Нова виџет дугмета „Кликните овде“ креира се помоћу „Гтк.Дугме ”метода. Затим се поравнава са хоризонталним и вертикалним центрима надређеног распореда оквира помоћу метода „сет_халигн“ и „сет_валигн“. Дугме је повезано на сигнал „кликнуо“ тако да се сваки пут када се притисне дугме може позвати метода повратног позива „он_буттон_цлицкед“. На крају, виџет дугмета се убацује слева дуж водоравне осе у распоред кутије помоћу „оквира.пацк_старт ”метода. Ова метода узима четири аргумента: објекат виџета који се додаје, логички за проширење виџета, логички број за попуњавање виџета и додавање између додатих и других суседних виџета.

себе.буттон = Гтк.Дугме (лабел = "Кликните овде")
себе.дугме.сет_халигн (Гтк.Поравнајте.ЦЕНТАР)
себе.дугме.сет_валигн (Гтк.Поравнајте.ЦЕНТАР)
себе.дугме.повезати („кликнуо“, само.он_буттон_цлицкед)
себе.кутија.пацк_старт (селф.дугме, Тачно, Тачно, 0)

Метода „он_буттон_цлицк“ позива се сваки пут када се притисне дугме „Цлицк Хере“. Ново обавештење креира се методом „нев“ која наслов и садржај обавештења узима као аргументе. Ово обавештење се затим приказује на радној површини методом „покажи“. Такође можете да преместите израз „нови“ у главни конструктор како бисте избегли поновно стварање обавештења сваки пут када се притисне дугме.

деф он_буттон_цлицкед (селф, видгет):
н = Обавести.Обавештење.ново („Једноставна апликација ГТК3“, „Здраво, свет !!")
н.Прикажи()

Следећих неколико изјава говори о стварању, управљању и приказивању новог прозора апликације. Креира се нова инстанца класе „МиВиндов“ и она је повезана за сигнал „уништи“ како би се осигурало да се апликација правилно затвара сваки пут када корисник одлучи да напусти апликацију кликом на дугме „к“. Метода „схов_алл“ приказује прозор апликације на вашој Линук радној површини. На крају, покреће се главна апликациона петља одговорна за руковање догађајима и сигналима.

Закључак

ГТК3 и Кт су неки од најпопуларнијих ГУИ оквира који се користе за креирање апликација које се изворно покрећу на Линуку. Оба ова оквира омогућавају вам да напишете главну логику на језицима Ц ++ и Питхон. Не можете погрешити одабиром било ког од ових алата за следећи пројекат апликације за Линук.

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