Ukwenza iApp (Vala + GTK 3) [Inxalenye yesithathu]

Kule nxalenye siza kubona indlela yokwenza enye iwindow kunye nokuyila nge-GTK. Siza kubona ezinye izinto ezinje ngokudibanisa imibuzo kunye nokusebenzisa amaqhosha amathathu (50%, ukubanda kunye nokupasa).

Isixhobo seBar kunye neButtonButton

Yenza Isixhobo seBar:

usetyenziso2

Ukwenza iqhosha lesiXhobo, kule meko siza kubeka i icon (ungafumana ii icon ezininzi ngokungagqibekanga apha) nge «from_stock (Gtk.Stock.IconName):

Ukufakwa kwedatha ukususela ngo-2013-12-07 23:26:52

Siyabona ukuba kwisicelo sethu sinebhola ephezulu enamaqhosha amabini, apho siya kuthi sisebenzise eyokuqala ukwenza imibuzo emitsha kunye neyesibini ukungenisa imibuzo (ngefayile):

Ukufakwa kwedatha ukususela ngo-2013-11-08 00:30:32

Ukwenza imibuzo:
Iqhosha ebesilwenzile ngaphambili (kwibar yesixhobo) xa ucofa kuyo, siza kuvula i-gtk entsha yefestile eya kusivumela ukuba songeze imibuzo kwiziko ledatha lethu:

usetyenziso1

Ukwenza iwindow entsha siza kudala iklasi entsha, esiya kuyibiza ngokuba yiMibuzo, kunye nendlela iklasi yeApp yethu eya kuyenza ngayo iwindow entsha (this.window = new Gtk.Window ();)

Siza kusebenzisa izinto ezimbalwa ukwenza i-graphical interface ngokulandelelana;

-Label (Imibuzo)

-Ungeno (apho siza kubhala khona umbuzo)

-Label (iimpendulo)

Iibhokisi ezi-4 ezithe tye eziza kuba neNgeniso (impendulo) kunye noTshintsho (ukukhetha ukuba lichanekile)

-Iqhosha (ukugqiba)

Siyabona ukuba ijongeka kanjani:

Ukufakwa kwedatha ukususela ngo-2013-12-08 01:07:08

Ukugcina umbuzo kuya kufuneka sifumane okubhaliweyo kokungena, bafunyanwa nge-get_text () ebuyisa umtya.

usetyenziso5

Ukwazi ukuba ngaba utshintsho luyasebenza singasebenzisa indlela yalo get_active () ebuyisa inyani ukuba iyacinywa kwaye iyavutha ukuba icinyiwe.

 Ama-50%, amaqhosha okuQhwa kunye nokuPasa

 -Amashumi amahlanu% :

Ngama-50% kufuneka sijonge kuphela ukuba leliphi iqhosha elichanekileyo kwaye sisuse ezi-2 ezingachanekanga, kule meko sizirhoxisa nge-set_sensitive (false).

usetyenziso4

Isiphumo:

usetyenziso6

-Freeze:

Sibeka ibha kwakhona ku-0.

le.timebar.set_fraction (0);

-Pass:

button3.clicked.connect (() => {
this.bd_select_preguntas ();
this.next_pregunta();
});

 Icandelo elilandelayo (4):

Kwisavenge esilandelayo siza kubona indlela yokuphucula imeko yesicelo sethu, enjengaleyo imibuzo engasoloko ibonakala kwindawo enye, beka i icon kwiapp ...


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   f3niX sitsho

    Ndiyazithanda iimpendulo ... haha ​​.. Ndiyabulisa

  2.   panchomora sitsho

    Ahle kakhulu la manqaku malunga ne-vala .. Ndiyathemba amanye .. imibuliso

  3.   cr0t0 sitsho

    Ndilinde ukungena kwakho malunga neVala, ndiyathemba ukuba ziya kubakho ezininzi ukuhanjiswa. Masinwabe!

  4.   Iipptru sitsho

    Inqaku elimnandi, enkosi ngokwabelana.

  5.   UHiram sitsho

    Sawubona,

    Ndiwalandele amangeniso akho angaphambili okwenziwa kwale app, ingxaki iza ngoku ndizama ukufikelela kumangenelo efestile entsha, ndiyenza ngale ndlela, kwi-saveC indlela yeklasi yokudala imibuzo (udidi olwenza iwindow) .

    esidlangalaleni saveC () {
    umtya str = umbuzoE.get_text ();
    stdout.printf ("ISivumelwano% s \ n", str);
    }

    Kodwa kwimveliso ndiyifumana:
    (bu: 6196): Gtk-CRITICAL **: gtk_entry_get_text: assertion` GTK_IS_ENTRY (entry) 'ayiphumelelanga

    Isivumelwano (null)

    Ndibonile eminye imizekelo nakwinkcazo yeendlela ezingena kungena benza into enje:

    I-void on_activate (ukungena kweGtk.)
    igama = ukungena.get_text ();
    phrinta ("\ nMolo" + igama + "! \ n \ n");
    }

    Kodwa zinokungena kube kanye kwaye kulo mzekelo ziyi-5, ke ngoku sele ndilahlekile, ungandikhokela ngcono.

    1.    lolbimbo sitsho

      Ewe, xa usenza ungeno awubaniki gama linye, ukufumana isicatshulwa abanaso uyakwenza:

      r1 = ukungena1.get_text ();
      r2 = ukungena2.get_text ();
      r3 = ukungena3.get_text ();
      r4 = ukungena4.get_text ();

      Ukuba uyafuna, beka i-pastebin kwaye ndiza kuyjonga

      1.    UHiram sitsho

        lolbimbo ukuba eneneni ndinazo ngamagama ahlukeneyo, kodwa ndisebenzisa enye kuphela kuvavanyo kuba akukho namnye kubo obuyisela isicatshulwa endisifakileyo, undithumelela impazamo ekhankanywe apha ngasentla:

        Kodwa kwimveliso ndiyifumana:
        (bu: 6196): Gtk-CRITICAL **: gtk_entry_get_text: assertion` GTK_IS_ENTRY (entry) 'ayiphumelelanga

        Isivumelwano (null)

        Ndisaphanda ...

        Masinwabe.!!

      2.    UHiram sitsho

        Sele ulungile lo mthombo, imibuliso.
        http://pastebin.com/pZG8GbrY

    2.    lolbimbo sitsho

      Molo Hiram, jonga, ndiza kukuxelela ukuba kufuneka uyenze njani ukuyisombulula, into yokuqala kukuba senza iwindow entsha (ayisiyiyo eyona iphambili), kwaye xa ubiza ungeno, (uxolo ngamagama) andazi kutheni Olo shiti alubuyi ngokungathi kukungena kodwa yiWidget, kodwa ke, ukuyisombulula kuya kufuneka utshintshe zonke izinto ezi-static ozenzileyo zisebenzisa amandla var:

      var umbuzoE = iGtk.Entry () entsha;

      emva koko umsebenzi uza kusebenza kwaye uya kufumana isicatshulwa ngaphakathi kungeno.

      gcina.cofa.connect (() => {
      // umtya str = lo.umbuzoE.get_text ();
      stdout.printf ("ISivumelwano% s \ n", buzaE.get_text ());
      });

      Okokugqibela, ungalibali ukutshintsha umgca apho ukongeza khona ukungena ukubonisa:

      BuzaE.show ();

      Ndikushiya ikhowudi epheleleyo kunye notshintsho ukuze ukhangele ukuba sele isebenza, oko kukuthi, kufuneka utshintshe zonke izinto (ubuncinci) ukuze uqhubeke nesicelo.

      http://paste.desdelinux.net/5048

      Phendula nge quote

      1.    UHiram sitsho

        Chale, ngapha uyazikhathaza kwakhona, ndihlala ndinengxaki, ikhowudi ondibonise yona ilungile, kuphela kwento eyenzekayo kwimeko:

        gcina.cofa.connect (() => {
        // umtya str = lo.umbuzoE.get_text ();
        stdout.printf ("ISivumelwano% s \ n", buzaE.get_text ());
        });

        Ingaphakathi kwiklasi yeMibuzo kwaye isebenza kakuhle kodwa xa ifuna ukungena kwi-saveC, ayidibanisi, iyandiphosa le mpazamo:

        bu01.vala: 50.38-50.50: impazamo: Impikiswano 1: Ayikwazi ukuguqula ukusuka `kwi-Questions.saveC 'ukuya kwi-Gtk.Iqhosha.
        lo.guardar.clicked.connect (lo.guardarC);
        ^^^^^^^^^^^^^^^
        bu01.vala: 251.58-251.66: isilumkiso: Gtk.Stock uyekisiwe ukusukela ngo-3.10
        bu01.vala: 260.59-260.67: isilumkiso: Gtk.Stock uyekisiwe ukusukela ngo-3.10
        Umdibaniso usilele: impazamo ezi-1, izilumkiso ezi-2

        Ndifuna ukucinga kungenxa yendlela endidlula ngayo kwiparameter xa umcimbi wokucofa uvela:
        lo.guardar.clicked.connect (lo.guardarC);

        Enkosi kwangaphambili ngengxelo; apha ndishiya ikhowudi ephosa impazamo: http://pastebin.com/pLzExhrb

      2.    lolbimbo sitsho

        Khange ndivavanye kodwa ndicinga ukuba ukususa impikiswano emsebenzini kuya kuyilahla.

        i-public void saveC (Gtk.Entry AskE) {
        umtya str = umbuzoE.get_text ();
        stdout.printf ("ISivumelwano% s \ n", str);
        }

        a:
        esidlangalaleni saveC () {
        umtya str = umbuzoE.get_text ();
        stdout.printf ("ISivumelwano% s \ n", str);
        }

      3.    UHiram sitsho

        lolbimbo, ndizamile ukususa impikiswano kwaye ayisebenzi,

        Ndizama ukuqonda ingxaki, ndimtsha eVala kwaye andifumani maxwebhu amaninzi, ndiyathemba ukufumana isisombululo kungekudala okanye ndilinde wena ukuba ukhuphe isahlulo sesine xD.

        Ndiyaqhubeka ndizama ...

        Ukubulisa