Giriş
İşte bir dizi gönderi gelecek (yaptığım gibi Vala), ancak bu sefer için bir başvuruyla Ubuntu Dokunmatik, uygulama başlangıçta "aynı" dır. gönderiler Valayani, bir soru ve 4 cevabımızın test şeklinde olduğu bir tür oyun, sonra üç düğmemiz var, biri olası cevaplardan ikisini (% 50), diğeri zamanı dondurmak ve sonuncusu sorudan gidin.
Bir proje oluşturmaya nasıl başlayacağınızı görmek için burayı ziyaret edebilirsiniz. Facebook post (dokümantasyon, proje oluştur ...), çünkü zaten oluşturulmuş projeyle başlayacağız.
Temel bilgi
Uygulamayı oluşturmak için aşağıdakilerin bileşenlerini kullanacağız: UbuntuKendi bileşenlerimizi yaratabilirken, bu durumda yapmayacağız.
Ubuntu Bileşenleri, uygulamamız için kullanacağımız bileşenlerdir:
Bunları aynı şekilde kullanmak için modülü içe aktarmamız gerekiyor:
Ubuntu.Components 0.1'i içe aktar
Bileşenlerin içinde düğmeler, ilerleme çubukları vb. Gibi farklı öğeler bulabiliriz. Bize bu bileşenlerin çoğunu gösterdikleri bir proje indirebiliriz:
bzr şubesi lp: ubuntu-ui-araç seti
Uygulamayı tasarlama
Uygulamayı yaptırdığımız görüntüden başlıyoruz. GTK, bu durumda kullanacağız QMLaslında tüm uygulamayı şu şekilde oluşturacağız: Hızlı Qt (QML + JavaScript).
Uygulama, resim gibi bir soru, zaman, cevaplar, seçenekler ve noktalardan oluşacaktır. Tek fark ("stil" dışında), yukarıda Sekmelerimiz olacak.
Bunun için buton, etiket ve progressBar öğelerini kullanacağız. Yapı için Element'i kullanacağız Sütun y Kürek çekmek.
Ana ekranın düzeninin tasarlanması:
Farklı Sekmelerin bulunacağı bir MainView ile başlıyoruz, bu durumda uygulamamızın ilk ekranının düzeni üzerinde çalışacağız.
MainView {objectName: "mainView" // ...}
Boyutlar (Ubuntu Touch için):
genişlik: units.gu (50) yükseklik: units.gu (75)
Eninin 50 (birim) ve boyunun 75 olacağı uygulamamızın boyunu ve genişliğini tanımlıyoruz, şimdi ona renk vereceğiz:
headerColor: "# 57365E" backgroundColor: "# A55263" footerColor: "# D75669"
Başlığın, gövdenin ve alt bilginin rengine sahibiz:
Daha önce de bahsettiğim gibi, uygulama Tabs ile yapılandırılacak:
Sekmeler {id: sekmeler Set {objectName: "jocTab"} / * {objectName: "addQuestions"} ekle * /}
Gördüğümüz gibi, biri yorum yaptı (henüz oluşturmadık) ve diğeri oynayacak (şimdi oluşturacağımız) iki Sekmemiz var. Söz konusu Tab'ı oluşturmak için yeni bir qml dosyası oluşturacağız (Yeni ekle -> Qt -> QML Dosyası ->…), söz konusu dosyanın adı Game.qml.
Peki, Game.qml'yi öyle bir şekilde değiştirelim ki onu içinde bir sayfa (Sayfa) olan bir Sekmeye çevirelim:
QtQuick 2.0'ı içe aktar Ubuntu.Components 0.1'i içe aktar Sekme {title: i18n.tr ("Oyun") Sayfası {}}
Sayfa içerisinde tasarımda bahsettiğimiz unsurları yapılandırmaya başlayacağız. İçindeki tüm öğeleri içerecek bir sütun (onları dikey olarak yerleştirecek), sonra öğeleri sıraya koyacağız: Etiket, ProgressBar, 4 düğme; ve seçenekleri koymak için, onları yatay olarak yerleştirmek için Satır öğesini kullanacağız.
Sütun {anchors.top: Gamepage.top anchors.topMargin: 50 aralık: 15 genişlik: parent.width yükseklik: parent.height - 50 Etiket {id: question anchors.topMargin: 500 metin: "Soru?" anchors.horizontalCenter: parent.horizontalCenter fontSize: "large" font.bold: true} ProgressBar {id: time anchors.horizontalCenter: parent.horizontalCenter} Düğme {id: resp1 metni: "Yanıt 1" anchors.horizontalCenter: parent.horizontalCenter} Düğme {id: resp2 text: "Response 2" anchors.horizontalCenter: parent.horizontalCenter} Düğme {id: resp3 text: "Response 3" anchors.horizontalCenter: parent.horizontalCenter} Düğme {id: resp4 metin: "Response 4" bağlantıları .horizontalCenter: parent.horizontalCenter} Satır {aralığı: 15 anchors.horizontalCenter: parent.horizontalCenter Düğme {id: b50 metin: "50%"} Düğme {id: bCon metni: "Dondur"} Düğme {id: bNext metin: " Sonraki "}} Satır {aralığı: 15 anchors.horizontalCenter: parent.horizontalCenter Etiket {id: başarısızlık metni:" Hatalar: 0 "renk:" kırmızı "} Etiket {id: isabet metni:" İsabet: 0 "} Etiket {id : points text: "Puanlar: 0" fontSize: "orta"}}
Bakalım, {} ile sınırlandırılan her bir öğenin içinde farklı özelliklere sahip olduğumuzu, etiket ve düğmeler durumunda, "text" özelliğinin gösterdiği metin olduğunu, önemli bir görsel olmayan özelliğin tanımlayıcı "id», Uygulama mantığını uyguladığımızda bize yardımcı olacaktır.
Sonunda sonucu görebiliriz:
Hoşuma gitti, bence bazı detaylardan yoksun ama iyi bir referans rehberi ...
Çok iyi! Qml ile başlamak çok iyi çalışıyor.
Bu, İspanyolca'da açık ara en iyi Linux blogu. Daha önce hiç yorum yapmadım ama sık sık kontrol ediyorum; neredeyse sahip olduğum bir bağımlılık.
Bir soru… Ubuntu SDK ile yapılan bir program, örneğin Arch gibi çok farklı bir dağıtım üzerine kurulabilir mi? Sanırım bazı bağımlılıkların yerine getirilmesi gerekecek (tabii ki Qt gibi). Ancak normalde herhangi bir dağıtımın depolarında tüm bu bağımlılıklar vardır.
Üzgünüm, son cümle aslında bir soru olmalı… Tüm bağımlılıklar herhangi bir dağıtımın havuzunda mı?
Varsayılan olarak -la (bu durumda) yükleyemezsiniz, çünkü ubuntu bileşenleri (bu durumda 0.1 sürümü) gibi bağımlılıklar vardır, bunları daha sonra yüklerseniz, bileşenleri kullanmamanız durumunda sorun çıkarmamalıdır. Sigram uygulaması (telgraf istemcisi) gibi (telgraf için istemci) qt quick ile yapılır ve çoğu dağıtım için yükleyebilirsiniz gibi (sanırım hepsini uygulamaya aktarabilirsiniz, böylece ağırlığı artacak ancak bağımlılık olarak kaldırılacaktır).
Umarım başvuruyu bitirirsin.
Çok iyi. Ben zaten adımları takip ettim ve olduğu gibi.
İnşallah projeye devam edersiniz ...