为Ubuntu Touch [QML]创建应用-[第1部分]

简介

这是一系列的帖子(就像我做过的一样 瓦拉),但这次有一个 Ubuntu Touch,则应用程序最初与 来自的帖子 瓦拉,即一种游戏,我们有一个问题和4个测试形式的答案,然后我们有50个按钮,一个按钮消除了两个可能的答案(XNUMX%),另一个按钮冻结了时间,最后一个冻结了从问题出发。

要了解如何开始创建项目,您可以访问此 发表 (文档,创建项目...),因为我们将从已创建的项目开始。

尽管应用程序专注于 Ubuntu Touch 也可以用于 Ubuntu 好像是正常应用

基础知识

要创建应用,我们将使用以下组件 Ubuntu尽管我们可以创建自己的组件,但在这种情况下我们不会。

Ubuntu组件是我们将用于应用程序的组件:

从2014-07-04 23:57:48捕获

要相同地使用它们,我们必须导入模块:

导入Ubuntu.Components 0.1

我们可以在组件中找到不同的元素,例如按钮,进度条等。 我们可以下载一个项目,其中它们向我们展示了大多数这些组件:

bzr分支 lp:ubuntu-ui-toolkit 
我们必须安装bzr

设计应用

我们从创建应用程序的图像开始 GTK,在这种情况下,我们将使用 质量管理语言,实际上我们将使用 Qt快速 (质量管理语言 + JavaScript的).

该应用程序与图像一样,将包含一个问题,时间,答案,选项和要点。 唯一的区别(除“样式”之外)是上面的标签。

为此,我们将使用button,label和progressBar元素。 对于结构,我们将使用Element y 行。

稍后我们将创建一个汇总问题

设计主屏幕的布局:

我们从MainView开始,在其中可以找到不同的选项卡,在这种情况下,我们将处理应用程序初始屏幕的布局。

MainView {objectName:“ mainView” // ...}

尺寸(适用于Ubuntu Touch):

宽度:units.gu(50)高度:units.gu(75)

我们定义应用程序的长度和宽度,其中宽度将为50(单位),长度为75,现在我们将为其赋予颜色:

headerColor:“#57365E” backgroundColor:“#A55263” footerColor:“#D75669”

我们具有页眉,正文和页脚的颜色:

从2014-07-05 15:24:58捕获

如前所述,该应用程序将由Tabs构成:

    标签{id:标签集{objectName:“ jocTab”} / *添加{objectName:“ addQuestions”} * /}

如我们所见,我们有两个选项卡,一个已注释(尚未创建),另一个正在播放(现在将创建)。 要创建所述Tab,我们将创建一个新的qml文件(添加新的-> Qt-> QML文件->…),该文件的名称为 Game.qml.

好吧,让我们以以下方式修改Game.qml,将其变成一个Tab,其中里面有一个页面(Page):

导入QtQuick 2.0导入Ubuntu.Components 0.1 Tab {title:i18n.tr(“游戏”)页面{}}

在页面中,我们将开始构建设计中提到的元素。 一列将包含所有内部元素的列(它将垂直放置),然后我们将这些元素按顺序放置:Label,ProgressBar,4个按钮; 并放置选项,我们将使用Row元素将其水平放置。

列{anchors.top:Gamepage.top anchors.topMargin:50间距:15宽度:parent.width高度:parent.height-50标签{id:问题anchors.topMargin:500文字:“问题?” anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter fontSize:“ large” font.bold:true} ProgressBar {id:时间anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter}按钮{id:resp1文本:“响应1” anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter}按钮{id:resp2文本:“响应2” anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter}按钮{id:resp3文本:“响应3” anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter}按钮{id:resp4文本:“响应4” anchors .horizo​​ntalCenter:parent.horizo​​ntalCenter}行{spacing:15 anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter按钮{id:b50文本:“ 50%”}按钮{id:bCon文本:“冻结”}按钮{id:b下一个文本:“下一页“}}行{间距:15 anchors.horizo​​ntalCenter:parent.horizo​​ntalCenter标签{id:失败文本:”失败:0“颜色:”红色“}标签{id:命中文本:”命中:0“}标签{id :点文字:“点:0” fontSize:“ medium”}}

让我们看看用{}分隔的每个元素如何具有不同的属性,对于标签和按钮,我们可以看到“ text”属性是它显示的文本,一个重要的非可视属性是标识符“ id»”,这将在我们实现应用程序逻辑时为我们提供帮助。

最后,我们可以看到结果:

从2014-07-23 19:21:03捕获


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   纳米

    我喜欢它,我认为它缺少一些细节,但这是一个很好的参考指南...

  2.   Ariel 大卫之星系列

    很好! 从Qml开始效果很好。
    到目前为止,这是西班牙语中最好的Linux博客。 我以前从未发表评论,但我经常检查一下; 这几乎是我的瘾。
    一个问题...用Ubuntu SDK制作的程序是否可以安装在另一个完全不同的发行版上,例如Arch? 我认为有必要实现一些依赖(当然像Qt一样)。 但是通常在任何发行版的存储库中都有所有这些依赖项。

    1.    Ariel 大卫之星系列

      抱歉,最后一句话实际上是一个问题……任何发行版的存储库中的所有依赖项都是吗?

      1.    洛宾博

        默认情况下,您无法安装-la(在这种情况下),因为它具有诸如ubuntu-components(在这种情况下为0.1版)之类的依赖项,如果稍后安装它们,则在不使用组件的情况下不会出现问题。 (我认为您也可以将它们全部导入到应用程序中,以使其重量增加,但您将它们作为依赖项删除),例如sigram应用程序(电报的客户端)是使用qt快速制作的,可以将其安装到大多数发行版。

  3.   佐助

    希望您完成申请。

    1.    加比卢斯

      这很好。 我已经按照步骤进行,就这样。
      希望你继续这个项目...