Създаване на приложение за Ubuntu Touch [QML] - [Част 1]

Въвеждане

Тук ще дойде поредица от публикации (като тези, с които направих Вала), но този път с приложение за Ubuntu Touch, приложението първоначално е "същото" като в публикации от Вала, тоест вид игра, при която имаме въпрос и 4 отговора под формата на тест, след това имаме три бутона, един за елиминиране на два от възможните отговори (50%), друг за замразяване на времето и последен за преминаване от въпрос.

За да видите как да започнете да създавате проект, можете да го посетите пускат (документация, създаване на проект ...), тъй като ще започнем с вече създадения проект.

Въпреки че приложението е фокусирано върху Ubuntu Touch Може да се използва и в Ubuntu сякаш е нормално приложение

Основни знания

За да създадем приложението, ще използваме компонентите на UbuntuВъпреки че бихме могли да създадем свои собствени компоненти, в този случай няма да го направим.

Компонентите на Ubuntu са компоненти, които ще използваме за нашето приложение:

Заснемане от 2014-07-04 23:57:48

За да ги използваме по същия начин, трябва да импортираме модула:

импортиране на Ubuntu.Components 0.1

Можем да намерим различни елементи в компонентите, като бутони, ленти за напредък и т.н. Можем да изтеглим проект, където ни показват повечето от тези компоненти:

bzr клон lp: ubuntu-ui-toolkit 
трябва да имаме инсталиран bzr

Проектиране на приложението

Започваме от изображението, където сме направили приложението GTK, в този случай ще използваме QML, всъщност ще създадем цялото приложение с Qt Бързо (QML + JavaScript).

Приложението, подобно на изображението, ще се състои от въпрос, време, отговори, опции и точки. Единствената разлика (освен "стила") ще бъде, че по-горе ще имаме раздели.

За това ще използваме елементите бутон, етикет и progressBar. За структурата ще използваме Елемента Колона y Ред.

По-късно ще създадем съвкупност от въпроси

Проектиране на оформлението на главния екран:

Започваме с MainView, където ще бъдат намерени различни раздели, в този случай ще работим по оформлението на началния екран на нашето приложение.

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

Размери (за Ubuntu Touch):

ширина: единици.gu (50) височина: единици.гу (75)

Определяме дължината и ширината на нашето приложение, където ширината ще бъде 50 (единици) и дължината 75, сега ще го оцветим:

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

Имаме цвета на заглавката, тялото и долния колонтитул:

Заснемане от 2014-07-05 15:24:58

Както споменах преди, приложението ще бъде структурирано от Tabs:

    Tabs {id: tabs Set {objectName: "jocTab"} / * Добавяне на {objectName: "addQuestions"} * /}

Както виждаме, имаме два раздела, един коментиран (все още не сме го създали) и друг за възпроизвеждане (който сега ще създадем). За да създадем споменатия раздел, ще създадем нов qml файл (Добавяне на нов -> Qt -> QML файл -> ...), името на споменатия файл ще бъде Game.qml.

Е, нека модифицираме Game.qml по такъв начин, че да го превърнем в Tab, който вътре има страница (Page):

импортиране на QtQuick 2.0 импортиране на Ubuntu.Components 0.1 Tab {title: i18n.tr ("Game") Страница {}}

В рамките на страницата ще започнем да структурираме елементите, които споменаваме в дизайна. Колона, която ще включва всички елементи вътре (ще ги постави вертикално), след това ще сложим елементите в ред: Label, ProgressBar, 4-те бутона; и за да поставим опциите, ще използваме елемента Ред, за да ги поставим хоризонтално.

Колона {anchors.top: Gamepage.top anchors.topMargin: 50 интервал: 15 ширина: parent.width височина: parent.height - 50 Етикет {id: question anchors.topMargin: 500 текст: "Въпрос?" anchors.horizontalCenter: parent.horizontalCenter fontSize: "large" font.bold: true} ProgressBar {id: time anchors.horizontalCenter: parent.horizontalCenter} Бутон {id: resp1 text: "Response 1" anchors.horizontalCenter: parent.horizontalCenter} Бутон {id: resp2 text: "Response 2" anchors.horizontalCenter: parent.horizontalCenter} Бутон {id: resp3 text: "Response 3" anchors.horizontalCenter: parent.horizontalCenter} Бутон {id: resp4 text: "Response 4" anchors .horizontalCenter: parent.horizontalCenter} Ред {интервал: 15 котви.horizontalCenter: parent.horizontalCenter Бутон {id: b50 text: "50%"} Бутон {id: bCon text: "Freeze"} Бутон {id: bСледващ текст: " Следващ "}} Ред {интервал: 15 anchors.horizontalCenter: parent.horizontalCenter Етикет {id: неуспехи текст:" Неуспехи: 0 "цвят:" червен "} Етикет {id: удари текст:" Попадение: 0 "} Етикет {id : точки текст: "Точки: 0" fontSize: "среден"}}

Нека да видим как в рамките на всеки елемент, който е разграничен от неговата {}, имаме различни свойства, в случая на етикета и бутоните можем да видим, че свойството "text" е текстът, който показва, важно невизуално свойство е идентификаторът "id" », Което ще ни помогне, когато внедрим логиката на приложението.

В края можем да видим резултата:

Заснемане от 2014-07-23 19:21:03


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Нано каза той

    Харесва ми, липсват някои подробности според мен, но е добър справочник ...

  2.   Ариел каза той

    Много добре! Работи много добре, за да започнете с Qml.
    Това е най-добрият Linux блог на испански език досега. Никога преди не съм коментирал, но го проверявам на всеки толкова често; това е почти пристрастяване, което имам.
    Един въпрос ... Може ли програма, създадена с SDK на Ubuntu, да бъде инсталирана на съвсем различен дистрибутор, като Arch например? Предполагам, че ще е необходимо да се изпълни някаква зависимост (като Qt разбира се). Но всички тези зависимости обикновено се намират в хранилищата на всяка дистрибуция.

    1.    Ариел каза той

      За съжаление последното изречение трябва да е въпрос всъщност ... Всички зависимости в хранилищата на дистрибуцията ли са?

      1.    лолбимбо каза той

        По подразбиране не можете да инсталирате -la (в този случай), тъй като има зависимости като ubuntu-компоненти (в този случай версия 0.1), ако ги инсталирате по-късно, не би трябвало да създава проблеми, в случай че не използвате компонентите (мисля, че Можете също така да импортирате всички в приложението, така че да се увеличи по тегло, но ги премахвате като зависимост), като например приложението sigram (клиент за телеграма) се прави с qt бързо и можете да го инсталирате на повечето дистрибуции.

  3.   Саске каза той

    Надяваме се да завършите заявлението.

    1.    Габиелус каза той

      Много е добро. Вече следвах стъпките и е както е.
      Надяваме се да продължите проекта ...