Инсталирајте неопходне пакете
Да бисте креирали апликацију помоћу Питхон 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 и Кт су неки од најпопуларнијих ГУИ оквира који се користе за креирање апликација које се изворно покрећу на Линуку. Оба ова оквира омогућавају вам да напишете главну логику на језицима Ц ++ и Питхон. Не можете погрешити одабиром било ког од ових алата за следећи пројекат апликације за Линук.