PyGTK 3: mini GUI koyawa tare da Python + GTK + 3

Za mu yi wani karamin shiri tare da PyGTK 3.0 wanda kuma yake aiki don PyGTK 3.4. Wannan karamin GUI zai koya muku yadda ake raba program zuwa fayiloli biyu ko sama da haka.

Kuna iya ziyartar koyarwar Sebastian Pölsterl akan sabon PyGTK 3, anan ga sabon karatun, na bar mahaɗin:

http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html

Wannan shafin yanar gizon Sebastian ne.

http://k-d-w.org/node/88

Sukar daya daga wannan koyaswar ta Sebastian ita ce cewa bai koyar da yadda ake raba shiri zuwa bangare ko zuwa fayiloli da yawa ba, zai yi kyau idan ya nuna misalin yadda ake yi da PyGTK 3.

Duk manyan shirye-shirye masu rikitarwa sun kasu kashi zuwa fayiloli da yawa kuma har ma ana sanya fayilolin a cikin wasu kundayen adireshi, ma'ana, suna cikin manyan fayiloli daban-daban.

Bari mu fara da karamin misali:

Ga lambar rubutu a cikin fayil guda mai suna gui.py. Muna buɗe editan rubutu na Gedit ko editan da muke amfani da shi mafi yawa, kwafe lambar da ke ƙasa kuma adana shi azaman gui.py

daga gi.repository shigo da Gtk class gui (): def on_open_clicked (kai, maballin): buga "\" Open \ "an latsa" def on_close_clicked (kai, maballin): buga "Rufe aikace-aikacen" Gtk.main_quit () def __init__ (kai): self.window = Gtk.Window () self.window.connect ('share-event', Gtk.main_quit) self.box = Gtk.Box () self.window.add (self.box) kai. maballin = Gtk.Button (lakabin = 'Buɗe') self.button.connect ("an danna", self.on_open_clicked) self.box.pack_start (self.button, Gaskiya, Gaskiya, 0) self.button = Gtk.Button ( lakabin = 'Rufe') self.button.connect ("an latsa", self.on_close_clicked) self.box.pack_start (self.button, Gaskiya ne, Gaskiya ne, 0) self.window.show_all () Gtk.main () idan __name__ == '__main__': gui = gui ()

gabanon

def on_open_clicked (kai, maballin): buga "\" Bude \ "an danna maballin"

Aiki ne wanda aka kunna a cikin tashar lokacin da muka danna maɓallin buɗewa. Sigina don kunna shi shine:

self.button.connect ("an latsa", self.on_open_clicked) def on_close_clicked (kai, maɓallin): buga "Rufe aikace-aikacen" Gtk.main_quit ()

Aiki ne wanda aka kunna lokacin da muka danna maɓallin kusa.

rufe shirin da muke gudanarwa.

sigina don kunna shi shine

self.button.connect ("an latsa", self.on_close_clicked) daga gi.repository shigo da Gtk ### muna kira ga dakunan karatu na PyGTK ### class gui (): ### ma'anar aji da ake kira gui shine babban aji # ##

Bayanin Widgets: widget din shiri ne wanda aka kaddara shi ta dakunan karatun da muke amfani dasu. Misali, Widgets din maballin ne, taga, kwali, da sauransu. Waɗannan su ne widget din da muke sanarwa a cikin shirinmu.

self.window = Gtk.Window () ### taga ### self.box = Gtk.Box () ### akwatin #### self.button = Gtk.Button (lakabin = 'Buɗe') ### # maballin budewa #### self.button = Gtk.Button (lakabin = 'Rufe') #### maɓallin rufewa #### self.window.add (self.box) #### akwatin yana ciki taga da ake kira taga #### self.box.pack_start (self.button, Gaskiya ne, Gaskiya ne, 0) ##### maballin yana cikin akwatin da ake kira akwatin ### self.window.show_all () ## # muna nuna dukkan taga ### gui = gui () ### ƙirƙirar gui abu ####

Mun sanya shirinmu a cikin jakar da ake kira mai sauƙi a cikin yanayinmu akan tebur

haihuwa

Muna buɗe fayil ɗin tare da tashar, a cikin akwati na amfani da Nemo daga Linux Mint 14.

rufe

Don tarawa mun sanya a cikin tashar pyi gui.py

ga hoton.

m

Yanzu zamu iya ganin ƙaramin shirinmu ko sabon widget da aka kirkira tare da dakunan karatu na PyGTK 3

Shi taga mai sauƙi tare da maɓallan biyu.

Babu lakabi

Yanzu mun rarraba shirin zuwa sassa uku, to, na bar lambar don fayiloli uku.

Fayil na farko gui.py

daga gi.repository shigo da Gtk daga lalata shigowa daga io shigo da io aji gui (lalata, io): def __init __ (kai): self.window = Gtk.Window () self.window.connect ('share-event', Gtk .main_quit) self.box = Gtk.Box () self.window.add (self.box) self.button = Gtk.Button (lakabin = 'Buɗe') self.button.connect ("an danna", self.on_open_clicked ) self.box.pack_start (self.button, Gaskiya, Gaskiya, 0) self.button = Gtk.Button (lakabin = 'Rufe') self.button.connect ("an latsa", self.on_close_clicked) self.box.pack_start) (maɓallin kai, Gaskiya ne, Gaskiya ne, 0) self.window.show_all () Gtk.main () idan __name__ == '__main__': gui = gui ()

Na biyu io.py fayil

class io: def on_open_clicked (kai, maballin): buga "\" Bude \ "an danna maballin"

Na uku fayil destro.py

daga gi.repository shigo da Gtk aji ya lalata: def on_close_clicked (kai, maballin): buga "Rufe aikace-aikacen" Gtk.main_quit ()

Mun sanya fayilolin uku a cikin babban fayil ɗin a cikin yanayinmu, babban fayil ɗin ana kiran sa mai sauƙi mai sauƙi.

m

Don tattara fayilolin uku. Muna buɗe allon fayil ɗin tare da tashar kuma kawai saka shi a cikin tashar

python gui.py

Gyare-gyare da aka yi wa lambar gui.py

daga lalata shigo da lalacewar ### sanarwa don shigo da fayil dinmu destro.py ### daga io shigo da io ### sanarwa don shigo da fayil io.py ### aji gui (halaka, io): #### zuwa aji babba muna ƙara ƙananan ƙananan ƙananan abubuwa masu lalacewa da io ####

Kuna iya ganin cewa jumla

def on_open_clicked (kai, maballin): buga "\" Bude \ "an danna maballin"

Ba a cikin gui.py yake ba, yana cikin fayil ɗin io.py

Jumla

def on_close_clicked (kai, maballin):

buga "aikace-aikacen rufewa"
Gtk.main_quit ()

yana cikin fayil din halaka.py

Don haka zamu iya raba shirin zuwa fayiloli da yawa waɗanda suke cikin kundin adireshi daban-daban a lokaci guda.

A gefe guda, Python ginshiƙi ne na software kyauta, kuma an daidaita shi don aiki tare da GTK 3.6 /3.8, sunansa PyGTK. Karbar Python don KDE ana kiransa PyQT.

Python an daidaita shi don Mac OS da WINDOWS.

Ina fatan wannan ƙaramin darajan PyGTK3 ya kasance mai amfani a gare ku. Zasu iya yin duk wata suka mai amfani da suke so.

Na kuma san wasu Gtk 3.4 /3.6 da Vala GTK 3.4 / 3.6.

http://www.youtube.com/watch?v=9ckRn_sx8CE

Aƙarshe, masu amfani da KDE suna ba da haƙuri saboda rashin yin ƙaramin koyawa ga KDE.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.

  1.   Tushen 87 m

    A cikin kde na fi son yin amfani da kdevelop (Ina tsammanin abin da ake kira kenan) don ƙirƙirar gui a sauƙaƙe amma har yanzu ina da wahalar samun matakan don abin ya faru x abu: '(

  2.   ku 0rmt4il m

    Mai girma ga waɗanda muke amfani da Python: D!

    Na gode!

  3.   Pablo m

    Barka dai, Na dade ina bin wannan al'umma kuma ban tabbata ba idan wannan ne karo na farko da nayi tsokaci ko kuma na riga na aikata hakan a baya 😀 (Ba a bani dama ba wajen rubuta tsokaci a yanar gizo sosai). Abinda zan yi shine in bar shawara ga Elav da KZKG ^ Gaara a matsayin masu gudanarwa, kuma ina ganin zai zama kyakkyawar shawara a ƙara plugin don canza launi a yanzu haka kwanan nan na ga ƙarin rubutu tare da lamba a cikin yarukan shirye-shirye daban-daban. Na san cewa akwai wasu 'yan plugins amma ban gwada komai ba tunda ni ba mai amfani da wordpress bane, don haka na bar ku kuyi tunani game da ingancin bukatar. Ina amfani da wannan damar in tambayi sauran masu karatu abin da suke tunani game da ra'ayin, domin na san akwai mutane a waje da suka fi son karanta lambar ba tare da ado ba. Ina neman afuwa idan har an riga an yi tsokaci game da wannan a nan kuma an ƙi shi saboda wasu dalilai, saboda ban tuna ganin wata tattaunawa game da batun ba.

    1.    marianogaudix m

      Gaskiyar ita ce, Ina so in sami zaɓi don yin launi a cikin jerin kalmomi don haskaka lambar yarukan shirye-shiryen.
      Hakan zai taimaka wa masu amfani da ke son koyan yarukan shirye-shirye.

      Amma fa, ni ma ina jin daɗin tattaunawar kuma za mu iya tattaunawa da koyo tare.

      1.    lokacin3000 m

        GNU Emacs ya fi kwanciyar hankali, domin aƙalla dole ne ku zaɓi cikin wane mai bincika harshe shirye-shiryen da kuke son aiki (idan ba kwa son ƙarin nauyi ga mai sarrafa ku, yi amfani da GNU Nano kuma ku more mafi ƙarancin kyau).

        1.    marianogaudix m

          Elio estamos hablando de Worpress . Implementado en el blog Desde Linux. No tiene las funciones para dar color a las letras de los posteos .

          1.    lokacin3000 m

            Oh kayi hakuri.

        2.    kunun 92 m

          Naaa emacs yana da dadi ga waɗanda suke da yatsu 84 na XD .., mutanen yau da kullun, abokin rubutu, sublimetext ko notepad ++ xd

          1.    lokacin3000 m

            Abu mai wuyar fahimta shine rashin koyon bugawa, wanda ake buƙata don iya iya ɗaukar GNU Emacs da kuma gajerun hanyoyin mabuɗansa da kyau. Kari akan haka, GUI dinsa ya baku saukin amfani da menus dinta (ana iya amfani da shi a cikin Windows, amma ba a ba da shawarar yin shi da yanayin al'ada ba amma tare da yanayin saurin umarni don win32 ba ta kauracewa rubutun ba).

  4.   Mai kamawa m

    Kyakkyawan koyawa. Amma af, ba a tattara lambar asalin Python ba, yare ne da ake fassara.

    1.    giskar m

      Ana iya haɗa shi zuwa lambar ƙaura. Ba harshe na inji bane amma baiti yana wakiltar wani abu ga mai fassara, amma ana kiran aikin har ila yau. A wannan ma'anar, yana yiwuwa a ce an tattara wani abu.

  5.   hty m

    Zai yiwu ya fi kyau koya pytgk2 saboda sabon sigar da aka samo don Windows shine 2.24. Jerin 3 yana da mahimmanci saboda rashi. Kuma harsuna marasa kyau suna cewa gnome ya karya dukkannin apis a cikin kowane sabon juzu'i.

    1.    marianogaudix m

      Na shirya izgili tare da GTK 3.4 / 3.6 kuma gaskiyar magana sun karya hakurin ka da kai, dole ne ka sake rubuta lambar, yanzu na fahimci dalilin da ya sa mutanen Linux Mint ke korafi game da GTK da aikin GNOME.
      Ga waɗanda ke MINT na yarda da GTK 2.4 wannan bai faru ba.

  6.   Carlos m

    Kyakkyawan koyawa da nassoshi.
    Bayani dalla-dalla, tunda an saka lambar, a cikin shigarwar Python tilas ne kuma yakamata a girmama shi a cikin lambar misali.

    Na gode!

    1.    marianogaudix m

      Shin zaku iya bayanin menene abubuwanda aka wajabta a cikin Python suka ƙunsa? Ina gaya muku gaskiya, ban taɓa jin hakan ba. Na saba da dandalin PyGTK 2/3 cikin Turanci kuma wataƙila na kau da kai.

      1.    giskar m

        A Python baku amfani da maɓallan kamar a cikin C ko toshe / ƙare abubuwa kamar a Pascal, amma ana fahimtar komai ta hanyar abin da kuka ba lambar. Wato, ana gane tubalan kamar yadda suke ciki. Fasali ne wanda nake matukar so. Ka guji rubuta makullin da abubuwa kamar haka.

        1.    kunun 92 m

          Ba na son hakan kawai, yana da sauƙi don sanya ƙananan maɓallan biyu ko std :: endl;, fiye da ganin idan an daidaita layin xd da kyau

          1.    Felipe m

            : p Malamin ka na shirin zai saka maka 0. Ko kuma mafi sharri zasu kore ka daga aikin ka. Abinda yafi mahimmanci shine cewa lambar tana iya karantawa tare da duk abin da hakan yake nufi

          2.    kunun 92 m

            ƙare tare da takalmin rufewa, yana sanya min saurin karanta XD ..

          3.    giskar m

            Da gaske ???


            int main(int argc, char *argv[]){program_name = argv[0];while ((argc > 1) && (argv[1][0] == '-')) {switch (argv[1][1]) {case 'v':verbose = 1; break;case 'o':out_file = &argv[1][2];break;case 'l':line_max = atoi(&argv[1][2]);break;default:fprintf(stderr,"Bad option %s\n", argv[1]);usage();}++argv;--argc;} if (argc == 1) {do_file("print.in");} else {while (argc > 1) {do_file(argv[1]);++argv;--argc;}}return (0);}

            Ka gani? Ba tare da sanyawa ba an fahimta sosai. Kuma wannan abu ne mai sauki. Tare da mafi rikitarwa, mai tarawa ne kawai ke fahimtarsa. Abinda yakamata shine, tunda KADA KAYI BAYANI (saboda mutane su fahimci lambar) me yasa zai zama dole ku zama masu aiki kuma kuyi amfani da masu raba hankali? Ya isa tare da sakawa kuma hakane.

          4.    kunun 92 m

            Tabbas, ba a fahimci komai ba, saboda ba ku mutunta dokokin kyakkyawan rubutu na shirin a cikin c / c ++. Abin da kuka yi yana da amfani ga komai, kamar nesting aiki, a cikin aiki a cikin wani aikin da yake cikin wani, to ina son ganinku xd idan kuna iya fahimtarsa.

          5.    kunun 92 m

            Af, tare da kamanni biyu, wannan lambar tana da saurin fahimta xD

          6.    giskar m

            Abin da na yi na yi ne da niyya don nuna muku cewa ba tare da kunnuwa ba, duk da cewa yana tattarawa, yana da matukar wuyar fahimtar kowace lambar. Don haka kuna da ƙa'idodi 2: Haɗuwa da kewayewa tare da iyakancewa. Amma wannan ba shi da yawa. A Python ba a yarda da irin wannan lambar ta mai fassara ba. Kuma kuna da doka ɗaya kawai: Indent. Da sauki.
            Amma hey, kowa da irin abubuwan da yake so.

          7.    Ateyus m

            Dukansu suna da kyau, marasa jin daɗi da waɗanda ba sa cikin hauka, a ganina na fi son salon lemar semicolon ko ruby, kwatankwacin python amma faɗakarwar ba lallai ba ce.

            Wannan ya fi fahimta: P:

            amsa kuwwa 'int main (int argc, char * argv []) {program_name = argv [0]; yayin ((argc> 1) && (argv [1] [0] ==' - ')) {canji (argv [ 1] [1]) {harka 'v': magana = 1; break; case 'o': out_file = & argv [1] [2]; break; case 'l': line_max = atoi (& argv [1] [2]); break; tsohuwa: fprintf (stderr, »Bad zaɓi % s \ n », argv [1]); amfani ();} ++ argv; –argc;} idan (argc == 1) {do_file (" print.in ");} wani kuma {yayin (argc> 1 ) {do_file (argv [1]); ++ argv; –argc;}} dawo (0);} '| perl -p -e 's / \ {/ \ {\ n \ t / g; s / \; / \; \ n \ t / g; s / \ t \} / \} / g;'

            Gaisuwa 😀

      2.    giskar m

        Ina tsammanin Carlos yana nufin cewa duk lokacin da lambar ta fito babu alamun shiga. Wannan tare da kwafa & liƙa kawai ba zai yi aiki ba. Ban sani ba idan alamar ta wanzu lokacin ƙirƙirar post don shigar da lambar yare. Zai yi kyau idan sun saka shi idan babu shi.

        1.    giskar m

          Na riga na ga menene matsala: CODE Tag yana cire dukkan wurare da shafuka (bai kamata yayi haka ba !!!) Amma idan kun saka nbsp akan sa, to lambar tana da kyau. A0 a cikin hex (160 a cikin yanke hukunci) kodayake ina tsammanin zai iya dogara da font (ban sani ba). Idan anyi amfani dashi to yana fitowa kamar haka:

          def fib(n):
              a, b = 0, 1
              while a < n:
                  print(a)
                  a, b = b, a+b

          Wannan a gwaje-gwajen da nake yi yana da kyau, amma ba ni da samfoti lokacin da nake buga amsoshi (kuma ya kamata hakan !!!) Idan bai fito ba, ba laifi na bane

          1.    marianogaudix m

            Dubi misalan da Sebastian Pölsterl ya bayar a cikin koyawarsa ta PyGTK 3, Sebastian baya sanya lambobi.

            Misali:

            http://python-gtk-3-tutorial.readthedocs.org/en/latest/entry.html#example

            zaka iya ganin duk karatun Sebastian.

          2.    giskar m

            Ban san me kuke nufi ba. Abin da nake fada shi ne a nan, a cikin sakonnin, ba zai yiwu a yi amfani da HTML Tag «CODE» ba saboda abin da kuka sanya azaman lambar kuma ya fito da kyau. A shafin da kake magana, idan ka ga tushen shafin, za ka ga cewa ba ya amfani da CODE amma yana amfani da wasu ƙayyadaddun HTML.
            Ba ya sabawa lambar da kuka sa a ciki ba amma dai nuna wani aibi a tsarin aika sakon wannan shafin. Wanne, wataƙila, admins na iya gyara.
            Lokacin da nake magana game da alamomi a fili ina magana ne game da HTML, ba Python ba. A kowane hali, idan kun sanya lambar ba tare da saka alama a Python ba kawai zai yi aiki ba. Idan sabuwar shiga ta zo ta kwafe lambar kamar yadda ta bayyana a wannan sakon kuma tayi kokarin gudanar da ita, zai gaza. Kuna iya takaici kamar yadda kuke sabon shiga. Bugu da ƙari, laifin ba naku ba ne; kuma a amsar da na gabata a baya abin da na yi shi ne ba da hanyar warware matsalar daga matakin mai amfani-wanda-posts.

          3.    marianogaudix m

            Kina da gaskiya, ya kamata na loda hotuna maimakon yin kwafin lambar.
            don nuna yadda ake yin oda da oda a cikin PyGTK 3.

  7.   Felipe m

    Don shiryawa tare da python Ina bada shawarar amfani da Eclipse tare da kayan aikin PyDev, ko Pychar m

  8.   louis m

    Kamar yadda aka yi sharhi a sama, wannan shine ainihin dalilin da yasa ba na son python, saboda batun rashin fahimta. Kamar yadda muka gani, yin kwafin & liƙa ba zai yi aiki ba, wanda ba ya faruwa da wasu yarukan kamar C, Java, PHP, da sauransu.

    Abunda za'a iya karantawa, muna amfani da adon adon (kamar http://indentcode.net/ ) kuma a shirye,

    An gyara mummunan abu, amma idan babu alamar magana kuma an canza ma'anar, za mu ji sauti ..

  9.   Carlos m

    Ni sabon abu ne ga PyGTK, shin zai yuwu ayi ma'amala da rubutun harsashi a cikin wannan yaren?

    1.    hola m

      Godiya ga koyawa.

      Na gode.