Programos, skirtos „Ubuntu Touch“, kūrimas [QML] - [1 dalis]

Įvadas

Čia ateis įrašų serija (kaip su tais, kuriuos dariau Vala), bet šį kartą su paraiška Ubuntu Touch, programa iš pradžių yra tokia pati kaip ir žinutės iš Vala, tai yra, savotiškas žaidimas, kuriame mes turime klausimą ir 4 atsakymus testo forma, tada mes turime tris mygtukus, iš kurių vienas pašalina du galimus atsakymus (50%), kitas sustabdo laiką, o paskutinis - pereiti nuo klausimo.

Norėdami sužinoti, kaip pradėti kurti projektą, galite apsilankyti čia paštu (dokumentacija, sukurk projektą ...), nes pradėsime nuo jau sukurto projekto.

Nors programa yra orientuota į Ubuntu Touch Jis taip pat gali būti naudojamas ubuntu tarsi tai būtų įprasta programa

Pagrindinės žinios

Norėdami sukurti programą, naudosime ubuntuNors galėtume sukurti savo komponentus, šiuo atveju to nedarysime.

„Ubuntu“ komponentai yra komponentai, kuriuos naudosime savo programai:

Fiksuoti nuo 2014-07-04 23:57:48

Norėdami juos naudoti tuo pačiu, turime importuoti modulį:

importuoti „Ubuntu“. Komponentai 0.1

Komponentuose galime rasti skirtingų elementų, tokių kaip mygtukai, eigos juostos ir kt. Galime atsisiųsti projektą, kuriame jie rodo daugumą šių komponentų:

bzr filialas lp: ubuntu-ui-toolkit 
mes turime turėti įdiegtą bzr

Programos kūrimas

Mes pradedame nuo paveikslėlio, kuriame turime paraišką GTK, šiuo atveju mes naudosime QML, iš tikrųjų mes sukursime visą programą naudodami Qt Greita (QML + JavaScript).

Programą, kaip ir vaizdą, sudarys klausimas, laikas, atsakymai, parinktys ir taškai. Vienintelis skirtumas (išskyrus „stilių“) bus tas, kad aukščiau turėsime skirtukus.

Tam naudosime mygtuką, etiketę ir „progressBar“ elementus. Struktūrai naudosime Elementą Skiltis y Eilutė.

Vėliau sukursime klausimų suvestinę

Pagrindinio ekrano išdėstymo projektavimas:

Pradedame nuo „MainView“, kur bus rasti skirtingi skirtukai, šiuo atveju mes ketiname dirbti su savo programos pradinio ekrano išdėstymu.

„MainView“ {objectName: "mainView" // ...}

Matmenys (skirta „Ubuntu Touch“):

plotis: vienetai.gu (50) aukštis: vienetai.gu (75)

Mes apibrėžiame savo programos ilgį ir plotį, kur plotis bus 50 (vienetai) ir ilgis 75, dabar mes jį spalvinsime:

headerColor: "# 57365E" backgroundColor: "# A55263" footerColor: "# D75669"

Mes turime antraštės, kūno ir poraštės spalvą:

Fiksuoti nuo 2014-07-05 15:24:58

Kaip jau minėjau anksčiau, programą sudarys skirtukai:

    Skirtukai {id: tabs Set {objectName: "jocTab"} / * Pridėti {objectName: "addQuestions"} * /}

Kaip matome, turime du skirtukus, vienas pakomentavo (mes jo dar nesukūrėme), o kitas - groti (kurį dabar sukursime). Norėdami sukurti minėtą skirtuką, sukursime naują qml failą (Pridėti naują -> Qt -> QML failas -> ...), nurodyto failo pavadinimas bus Žaidimas.qml.

Na, pakeiskime „Game.qml“ taip, kad paverstume jį skirtuku, kurio viduje yra puslapis (puslapis):

importuoti „QtQuick 2.0“ importuoti „Ubuntu.Components 0.1“ skirtuką {title: i18n.tr ("Game") puslapis {}}

Puslapyje mes pradėsime struktūrizuoti elementus, kuriuos paminėjome dizaine. Stulpelis, kuriame bus visi elementai viduje (jis juos pastatys vertikaliai), tada mes išdėstysime elementus eilės tvarka: Etiketė, Pažangos juosta, 4 mygtukai; ir norėdami įdėti parinktis, naudosime elementą Eilutė, kad juos išdėstytume horizontaliai.

Stulpelis {anchors.top: Gamepage.top anchors.topMargin: 50 atstumas: 15 plotis: parent.width height: parent.height - 50 Label {id: question anchors.topMargin: 500 text: "Klausimas?" anchors.horizontalCenter: parent.horizontalCenter fontSize: "large" font.bold: true} ProgressBar {id: time anchors.horizontalCenter: parent.horizontalCenter} mygtukas {id: resp1 text: "Response 1" anchors.horizontalCenter: parent.horizontalCenter} Mygtukas {id: resp2 text: "Response 2" inkarai.horizontalCenter: parent.horizontalCenter} Mygtukas {id: resp3 text: "3 atsakymas" inkarai.horizontalCenter: parent.horizontalCenter} mygtukas {id: resp4 text: "4 atsakymas" inkarai .horizontalCenter: parent.horizontalCenter} Eilutė {tarpai: 15 inkarų.horizontalCenter: parent.horizontalCenter mygtukas {id: b50 text: "50%"} mygtukas {id: bCon text: "Freeze"} mygtukas {id: bNext text: " Kitas "}} eilutė {tarpai: 15 anchors.horizontalCenter: parent.horizontalCenter Label {id: failures text:" Failures: 0 "color:" red "} Label {id: hits text:" Hit: 0 "} Label {id : points text: "Points: 0" fontSize: "medium"}}

Pažiūrėkime, kaip kiekvieno elemento, kurį riboja jo {}, savybės skiriasi, etiketės ir mygtukų atveju matome, kad ypatybė „tekstas“ yra rodomas tekstas, svarbi ne vizualinė ypatybė yra identifikatorius „id», kuris mums padės įgyvendinant programos logiką.

Pabaigoje galime pamatyti rezultatą:

Fiksuoti nuo 2014-07-23 19:21:03


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   nanotechnologijų sakė

    Man tai patinka, manau, kad jame nėra išsamios informacijos, tačiau tai yra geras informacinis vadovas ...

  2.   ariel sakė

    Labai gerai! Pradėti nuo Qml labai gerai.
    Tai kol kas geriausias „Linux“ tinklaraštis ispanų kalba. Niekada anksčiau nekomentavau, bet taip dažnai tikrinu; tai beveik priklausomybė, kurią turiu.
    Vienas klausimas ... Ar programą, sukurtą naudojant „Ubuntu SDK“, galima įdiegti labai skirtingame platintuve, pavyzdžiui, „Arch“? Manau, kad reikės įvykdyti tam tikrą priklausomybę (kaip, žinoma, Qt). Bet visos šios priklausomybės paprastai yra bet kurio platintojo saugyklose.

    1.    ariel sakė

      Atsiprašome, paskutinis sakinys turėjo būti tikras klausimas ... Ar visos priklausomybės saugyklose yra kokio nors platintojo?

      1.    lolbimbo sakė

        Pagal numatytuosius nustatymus negalite įdiegti -la (šiuo atveju), nes jis turi tokias priklausomybes kaip ubuntu-components (šiuo atveju versija 0.1), jei juos įdiegsite vėliau, tai neturėtų sukelti problemų, jei nenaudosite komponentų (Manau, kad taip pat galite juos visus importuoti į programą, kad padidėtų svoris, bet pašalinsite juos kaip priklausomybę), pvz., „Sigram“ programa (telegramos klientas) yra sukurta naudojant qt greitai ir galite ją įdiegti daugumoje distros.

  3.   Sasuke sakė

    Tikimės, kad baigsite programą.

    1.    gabielius sakė

      Tai labai gerai. Aš jau atlikau žingsnius ir yra kaip yra.
      Tikimės, kad tęsite projektą ...