Ukwakha uhlelo lokusebenza lwe-Ubuntu Touch [QML] - [Ingxenye 3]

Ukwakha uhlelo lokusebenza lwe-Ubuntu Touch

Ingxenye yesithathu yalolu chungechunge lokuthunyelwe (ingxenye yokuqala, ingxenye yesibili) lapho sakha khona isicelo Ubuntu Thinta noma ngokufanayo Ubuntu ideskithophu. Ngizofaka ingxenye engiyiphuthelwe kokuthunyelwe kwangaphambilini, futhi lokho wukuthi yize sikhuphule okuguquguqukayo kokwehluleka, ukushaya namaphuzu, lapho-ke kungakhonjiswanga esikrinini, lokho kungenxa yokuthi asizange sikushintshe impahla yombhalo wamalebula:

                Ilebuli {id: failures text: "Failures:" + nfaults color: "red"} Ilebuli {id: hits text: "hits:" + born} Ilebula {id: points text: "Points:" + npoints fontSize: "medium "}

Ukuqhubeka komqondo womdlalo

Isikhathi

Yebo, njengoba sesivele sazi, i-progressBar ikhombisa isikhathi okufanele siphendule ngaso umbuzo. Ukuphatha isikhathi esizosebenzisa ngaso i-Timer, isibali sikhathi siyinto ephindaphindwe ngesikhawu sama-x millisecond, kulokhu isikhathi ngasinye sizositshela ukuthi sikhuphule inqubekela phambili yeProgressBar; Kepha ngaphambi kokuthi ngibheke ukuthi ngabe sesifikile ekugcineni kwesikhathi noma cha, uma kwenzeka sifinyelela ekugcineni, kufanele sisuse impilo.

Ungabona umugqa wekhodi esingakawusebenzisi (PopupUtils.open (dialog)), lo mugqa ukuvula inkhulumomphendvulwano ye-endgame uma kwenzeka singasenampilo (izimbungulu ezi-3 zisusiwe), ngokuhamba kwesikhathi kulokhu okuthunyelwe sizobona ukuthi singayenza kanjani le nkhulumomphendvulwano.

Ikhodi yesikhathi (singayibeka ngaphansi kweProgressBar):

       I-ProgressBar {id: amahange esikhathi.horizontalCenter: parent.horizontalCenter minimumValue: 0 maximumValue: 300} Isikhathi (id: simpletimer c: 100 repeat: true running: true onTriggered: {if (time.value <time.maximumValue) time.value + = 1.0 okunye {nfaults = nfaults + 1 if (nfaults <3) {num = num + 1 Logic.nextQuestion (num) time.value = time.minimumValue} else {simpletimer.stop () PopupUtils.open (dialog)}} }}

Njengoba sibona, ku-onTriggered sibeka ikhodi ezokwandisa ibha yokuqhubeka engeza iyunithi elilodwa njalo ku-1 (isikhathiimizuzwana engama-milli. Qaphela ukuthi sengeze izimfanelo ezimbili ku-ProgressBar, i-minimumValue ne-maximumValue, okuthi njengoba ubona, inani eliphakeme kanye nenani eliphansi.

Ukuqala nokumisa isibali sikhathi:

simpletimer.start () simpletimer.stop ()

Izinketho (50%, Freeze no Next)

Ake siqale sakhe okuguqukayo okuthathu okulawula ukuthi izinketho zingasetshenziswa kanye kuphela:

    impahla int amaphesenti: 0 impahla int nge: 0 impahla int ngokulandelayo: 0

50%

Inkinobho {id: b50 umbhalo: "50%" uvaliwe: {if (percent == 0) {var correct = aDocument.contents.questions [num] .correcta if (correct == 1) {resp2.enabled = false resp3. inikwe amandla = ngamanga} okunye uma (ilungile == 2) {resp1.enabled = amanga resp4.enabled = false} okunye uma (lungile == 3) {resp1.enabled = false resp4.enabled = false} okunye {resp2.enabled = i-resp1 yamanga inikwe amandla = amaphesenti wamanga} = 1}}

Ngokunikwe amandla = amanga esikwenzayo ukufaka inkinobho ukuze ingacindezelwa, ngendlela yokuthi sithole impendulo eyiyo nge-aDocument.contents.questions [num]. Ilungile futhi ukusuka lapha kuye ngokuthi iyiphi eyiyo «thina susa »Izinkinobho ezimbili ezingekho.

Qhwa

                Inkinobho {id: bCon umbhalo: "Friza" ivuliweKucishiwe: {if (with == 0) simpletimer.stop () with = 1}}

Lokhu kungenye yezinto ezilula, kufanele nje simise isibali sikhathi nge-simpletimer.stop (), yebo, kufanele siyivule futhi (bese sisetha i-progressBar iye ku-0) lapho sidlula embuzweni.

Olandelayo

                 Inkinobho {id: bNombhalo olandelayo: "Okulandelayo" kuvuliwe: {if (next == 0) {num = num + 1 Logic.nextQuestion (num) next = 1}}}

Sisebenzisa umsebenzi esivele siwenzile ukudlulisa umbuzo (nextQuestion).

Izingxoxo

Ukuqeda umdlalo sizosebenzisa i-Dialog, kungaba ngoba siwinile (akusekho mibuzo) noma ngoba silahlekelwe (senze amaphutha ama-3), ukusebenzisa izingxoxo okufanele singenise imodyuli:

ukungenisa Ubuntu

Sizokwakha ibhokisi elisitshela ukuthi silahlekelwe:

        Ingxenye ye- {id: Dialog Dialog {id: dialogue title: "Game Over!" umbhalo: "Ulahlekelwe yizo zonke izimpilo :(" Inkinobho {umbhalo: "Phuma" kuChofoziwe: Qt.quit ()} Inkinobho {umbhalo: "Qala kabusha" umbala: UbuntuColors.orange onClicked: {num = 0; Logica.nextQuestion (num ) ama-npoints = 0 births = 0 PopupUtils.close (inkhulumomphendvulwano)}}}

Sinezinkinobho ezimbili, eyodwa ukuvala uhlelo (Qt.quit ()) nenye ukuqala umdlalo. Siqala okuguquguqukayo kube ngu-0 bese sivala ibhokisi.

Ukuvula ibhokisi:

PopupUtils.open (dialog)

Ukuyivala:

PopupUtils.close (inkhulumomphendvulwano)

Ake sibone inkhulumomphendvulwano ekugcineni komdlalo:

Ubuntu Thinta

Singakha ibhokisi ngokufana ncamashi ngokushintsha okokuhlonza kanye nombhalo lapho uthi siwinile khona.

Ukwakha ukuhlanganiswa kombuzo

Lapho siyiklama ngaphakathi I-GTK, sakha ingxoxo, kepha kulokhu sizokwenza kuthebhu, noma kunjalo izoba nesakhiwo esifanayo:

Njengoba sibona, sizosebenzisa i-Label, i-TextArea ukubhala umbuzo, i-4 TextField ne-4 switch; ekugcineni, Inkinobho yokwengeza umbuzo. Ake sibheke ikhodi:

ngenisa i-QtQuick 2.0 yokungenisa Ubuntu.Components 0.1 Tab {isihloko: i18n.tr ("+ Imibuzo") Ikhasi {id: pageAdd Column {anchors.top: pageAdd.top anchors.topMargin: 50 spacing: 15 spacing: 50 ububanzi: parent.width height: parent.height - 20 Label {id: question text: "Faka umbuzo ku-database:" anchors.horizontalCenter: parent.horizontalCenter fontSize: "large"} TextArea {width: parent.width - 12 height: units.gu (30 ) contentWidth: units.gu (60) contentHeight: units.gu (15) anchors.horizontalCenter: parent.horizontalCenter} Row {spacing: 1 anchors.horizontalCenter: parent.horizontalCenter TextField {placeholderText: "Ububanzi 300" ububanzi: 15} Shintsha {checked: false}} Irowu {isikhala: 2 amahange.horizontalCenter: parent.horizontalCenter TextField {placeholderText: Ububanzi be- "Response 300": 15} switch {checked: false}} Row {spacing: 3 anchors.horizontalCenter: parent. horizontalCenter TextField {placeholderText: "Ububanzi bempendulo 300": 15} Shintsha {checked: false}} Irowu {isikhala: 4 ama-anchors.horizontalCenter: parent.horizontalCenter TextField {placeholderText: "Ububanzi Bokuphendula 300": 20} Shintsha {ihloliwe: amanga}} Inkinobho {umbhalo: "Faka +" amahange.horizontalCenter: parent.horizontalCenter ububanzi: parent.width - XNUMX}}}}
Uma kukhona ukungabaza ngekhodi usuvele uyazi ukuphawula

Ake sibone ukuthi kubukeka kanjani:

Ukuthathwa kusuka ngo-2014-07-24 16:54:37

Uma manje sihlola ama-switch, sizobona ukuthi singamaka wonke njengombuzo ofanele, futhi ngokwemvelo munye kuphela ongaba, ngakho-ke sizokwenza okulandelayo: sizokwazi ukunikeza isikhombi kuswishi ngayinye (futhi naku textfields ngoba kuzodingeka ukuthi sithole okuqukethwe ukuze sikugcine database) ngokusho kwempendulo yakho, futhi lapho sikucofa sizofaka bonke abanye kwimodi ye-checked = false:

             Umugqa {isikhala: 15 izikhonkwane.horizontalCenter: parent.horizontalCenter TextField {id: res1 placeholderText: "Ububanzi bempendulo 1": 300} Shintsha i- {id: sw1 checked: false onClicked: {if (sw1.checked == true) {sw2. checked = false sw3.checked = false sw4.checked = false}}}}

Uma sizama manje sizobona ukuthi singamaka kanjani eyodwa kuphela.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   vr_rv kusho

    Izindatshana ezinhle kakhulu nezichazwe kahle.
    Ngandlela-thile, ingabe uncoma ezinye izincwadi, iziteshi ze-YouTube noma amaBlogs aseSpain ukuze ufunde ukuthi ungathuthukisa kanjani ku-QML ye-Ubuntu.

    1.    lolbimbo kusho

      NgesiSpanish, nakanjani kukhona izifundo ezithile ku-YouTube, noma i-blog eyinqaba, kepha iqiniso ukuthi kukhona okuncane okukufundayo.

      Ngiyabona ukuthi uxhuma nge-nokia uma kuwuphawu lokugcina, ungakha nezinhlelo zokusebenza nge-QML, empeleni yindlela engifunde ngayo, nayi iwebhusayithi yokuthuthukisa i-nokia: http://developer.nokia.com/ (kukhona okokufundisa, amaphrojekthi aphelele ...)

  2.   Nestor kusho

    Uchungechunge lokuthunyelwe okuhle kakhulu, ngiyabonga ngokufaka.

  3.   Marti kusho

    Siyabonga ngesifundo,
    Kepha angiqondi ukuthi imibuzo nezimpendulo zifakwa kanjani ku-database.
    Ngenkinobho yokwengeza.
    Ngiyabonga ngakho konke.