Ubuntu Touch үчүн колдонмо түзүү [QML] - [1-бөлүк]

тааныштыруу

Бул жерде бир катар билдирүүлөр келет (мен жасаган адамдардай Vala), бирок бул жолу үчүн арыз менен Ubuntu Touch, колдонмо башында "менен" окшош билдирүүлөр Vala, башкача айтканда, бизде суроо жана тест түрүндө 4 жооп бар, андан кийин үч баскыч бар, бирөөсү мүмкүн болгон жооптордун экөөсүн жок кылат (50%), экинчиси убакытты тоңдуруп, экинчиси суроодон чыгуу.

Долбоорду түзүүнү кантип баштоо керектигин билүү үчүн, ушул жерге кирсеңиз болот кызмат (документтештирүү, долбоор түзүү ...), анткени биз буга чейин түзүлгөн долбоордон баштайбыз.

Колдонмо багытталган да Ubuntu Touch Ошондой эле, колдонсо болот Ubuntu бул кадимки колдонмо болгондой

Негизги билим

Колдонмону түзүү үчүн биз анын компоненттерин колдонобуз UbuntuБиз өзүбүздүн компоненттерибизди түзө алганыбыз менен, андай болбойт.

Ubuntu компоненттери - бул биздин колдонмо үчүн колдоно турган компоненттер:

2014-07-04 23:57:48 чейин тартып алуу

Аларды бирдей колдонуу үчүн биз модулду импорттошубуз керек:

import Ubuntu.Component 0.1

Компоненттердин ар кандай элементтерин таба алабыз, мисалы, баскычтар, прогресс тилкелери ж.б. Биз бул компоненттердин көпчүлүгүн көрсөтүп турган долбоорду жүктөп алсак болот:

бзр филиалы lp: ubuntu-ui-toolkit 
бизде бзр орнотулган болушу керек

Колдонмонун дизайны

Биз колдонмо жасалган сүрөттөн баштайбыз GTK, бул учурда биз колдонобуз QML, чындыгында биз колдонмону толугу менен түзөбүз qt-тез (QML + JavaScript).

Колдонмо сүрөт сыяктуу эле, суроодон, убакыттан, жооптордон, варианттардан жана пункттардан турат. Бир гана айырмачылыгы ("стилден" тышкары), жогоруда бизде Өтмөктөр болот.

Бул үчүн биз баскычты, этикетканы жана progressBar элементтерин колдонобуз. Структурасы үчүн биз Элементти колдонобуз колонна y Катар.

Кийинчерээк суроолордун жыйындысын түзөбүз

Негизги экрандын макетин иштеп чыгуу:

Биз MainView программасынан баштайбыз, анда ар кандай өтмөктөр табылат, бул учурда колдонмобуздун баштапкы экранынын макети менен иштейбиз.

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

Өлчөмдөр (Ubuntu Touch үчүн):

туурасы: бирдик.gu (50) бийиктик: бирдик.gu (75)

Биз колдонмонун узундугун жана туурасын аныктайбыз, ал жерде туурасы 50 (бирдик) жана 75 узундугу болот, эми биз аны боёп жатабыз:

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

Бизде баштын, корпустун жана колонтитулдун түсү бар:

2014-07-05 15:24:58 чейин тартып алуу

Мен жогоруда айтып өткөндөй, өтүнмө Tabs тарабынан түзүлөт:

    Өтмөктөр {id: tabs Set {objectName: "jocTab"} / * Add {objectName: "addQuestions"} * /}

Көрүп тургандай, бизде эки кыстырма бар, бири комментарий жазды (биз аны жасай элекпиз), экинчиси ойнойбуз (биз азыр түзөбүз). Айтылган Кыстырманы түзүү үчүн, биз жаңы qml файлын түзөбүз (Add new -> Qt -> QML File ->…), аталган файлдын аталышы Game.qml.

Келгиле, Game.qml файлын Табакка айландыргыдай кылып өзгөртөлү, анын ичинде барак (Бет) бар:

import QtQuick 2.0 import Ubuntu.Components 0.1 Tab {title: i18n.tr ("Game") Page {}}

Барактын ичинде биз дизайнда айтылган элементтерди түзө баштайбыз. Ичиндеги бардык элементтерди камтыган тилке (аларды тигинен тигет), андан кийин элементтерди иретке келтиребиз: Label, ProgressBar, 4 баскыч; жана параметрлерди коюу үчүн, аларды горизонталдуу коюу үчүн Row элементин колдонобуз.

Колонна {anchors.top: Gamepage.top anchors.topMargin: 50 аралык: 15 кеңдик: parent.width height: parent.height - 50 Label {id: question anchors.topMargin: 500 text: "Question?" anchors.horizontalCenter: parent.horizontalCenter fontSize: "large" font.bold: true} ProgressBar {id: time anchors.horizontalCenter: parent.horizontalCenter} Button {id: resp1 text: "Response 1" anchors.horizontalCenter: parent.horizontalCenter} Button {id: resp2 text: "Response 2" anchors.horizontalCenter: parent.horizontalCenter} Button {id: resp3 text: "Response 3" anchors.horizontalCenter: parent.horizontalCenter} Button {id: resp4 text: "Response 4" anchors .horizontalCenter: parent.horizontalCenter} Сап {аралык: 15 anchors.horizontalCenter: parent.horizontalCenter баскычы {id: b50 text: "50%"} баскычы {id: bCon текст: "Тоңдуруу"} баскычы {id: bNext текст: " Кийинки "}} Сап {аралык: 15 anchors.horizontalCenter: parent.horizontalCenter Label {id: failures text:" Failures: 0 "color:" red "} Label {id: hits text:" Hit: 0 "} Label {id : упай текст: "Упайлар: 0" fontSize: "medium"}}

Келгиле, анын ар бир элементинде {} менен айырмаланып, ар кандай касиеттерге ээ экенибизди көрөлү, этикетка жана баскычтар жагынан "текст" касиети ал көрсөткөн текст экендигин, визуалдык эмес маанилүү касиети "id" идентификатору, бул колдонмонун логикасын ишке ашырганда бизге жардам берет.

Жыйынтыгында биз анын натыйжасын көрө алабыз:

2014-07-23 19:21:03 чейин тартып алуу


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

6 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   нано ал мындай деди:

    Мага жагат, ал менин оюмча айрым деталдары жок, бирок ал жакшы маалымдама ...

  2.   Ариэл ал мындай деди:

    Абдан жакшы! Бул Qml менен баштоо үчүн абдан жакшы иштейт.
    Бул Испаниядагы эң мыкты Linux блогу. Мен буга чейин эч качан комментарий жазган эмесмин, бирок мен аны тез-тез текшерип турам; бул менде болгон көз карандылык.
    Бир суроо ... Ubuntu SDK менен жасалган программаны такыр башка дистрибутивге, мисалы Arch сыяктуу орнотсо болобу? Кээ бир көз карандылыкты аткаруу керек болот деп ойлойм (албетте Qt сыяктуу). Бирок бардык ушул көзкарандылыктар ар кандай дистробдун кампасында сакталат.

    1.    Ариэл ал мындай деди:

      Кечиресиз, акыркы сүйлөм чындыгында суроо болушу керек эле ... Репозиторийлердеги көзкарандылыктардын бардыгы кандайдыр бир дистробу барбы?

      1.    лолбимбо ал мындай деди:

        Демейки шартта -la (бул учурда) орнотууга болбойт, анткени ubuntu-компоненттери сыяктуу көзкарандылыктарга ээ (бул учурда 0.1 версиясы), эгерде аларды кийинчерээк орнотсоңуз, анда көйгөйлөрдү жаратпашыңыз керек, эгерде сиз компоненттерди колдонбосоңуз (Менимче, алардын бардыгын тиркемеге импорттосоңуз болот, салмагы көбөйөт, бирок сиз аларды көз карандылык катары алып саласыз), мисалы, sigram тиркемеси (телеграмма үчүн кардар) qt тез жасалган жана аны көпчүлүккө орното аласыз. бөлүштүрүү.

  3.   Сасуке ал мындай деди:

    Колдонмону бүтүрсөңүз болот.

    1.    Габиел ал мындай деди:

      Абдан жакшы. Мен буга чейин кадамдарды ээрчип жүрдүм, ошондой эле.
      Долбоорду улантат деп ишенем ...