Bu küçük eğitimde Vala ve GTK3 ile ilk adımlarımızı nasıl atacağımızı göreceğiz. Başlayalım:
Gerekli araçların kurulması
sudo apt-get install valac libgtk-3-dev
IDE:
IDE olarak kullanabileceğimiz / yapılandırabileceğimiz çok çeşitli editörler bulabiliriz. Bunların örnekleri çizik, Yüce metin, geany … Benim durumumda Scratch kullanacağım (temel işletim sisteminde bulabileceğimiz).
Merhaba Dünya! 'Nın tipik örneğini görelim. Bu aşağıdaki gibi olacaktır:
Ve kod şöyle görünecektir:
Şimdi kodun detaylarına bakalım. Gtk penceresi olan bir sınıfımız var.
# Gtk'yi Gtk.init (ref args) argümanlarıyla başlatıyoruz; # Uygulamayı oluşturuyoruz. Uygulama uygulaması = yeni Uygulama (); # Uygulamayı ekranın ortasına yerleştiriyoruz. app.window_position = Gtk.WindowPosition.CENTER; # Kapatırken uygulamayı yok ederiz. app.destroy.connect (Gtk.main_quit); # App.set_default_size (100, 50) penceresini ölçüyoruz; # Bir düğme oluşturup düğme tıklama olayını bağlayıp bir merhaba yazdırıyoruz! var button = new Gtk.Button.with_label ("Merhaba Deyin"); button.clicked.connect (() => {print ("Merhaba! \ n");}); # Düğmeyi app.add'ye ekleyin (düğme); # App / Window uygulamasını gösteriyoruz. Show_all ();
Düğmeye tıklayarak çıktı olarak alacağız:
Derliyor ve çalıştırıyoruz:
$ valac -v lol.vala --pkg gtk + -3.0 $ ./lol
Şimdi size bazı ilgi alanları bırakıyorum:
http://elementaryos.org/docs/code/the-basic-setup
Pencereleri çizen bir fikre sahip olmamanın sorunu, gerçekten ilkel bir pencere oluşturmak için sınıfın tüm yöntemlerini bilmeniz gerektiğidir.
Tasarım aşamasında iyi bir iş çıkardıysanız, programlama sırasında IDE kullanmak için hiçbir nedeniniz olmazdı.
Sen beni anlamadın, prensipte kod yazmak zorunda kalmadan bunu senin için yapacak bir fikrinden bahsediyorum, windows:
http://imagebin.org/275532
Bu, sizi bir düğmenin yöntemini vb. Bilmekten kurtarır.
Bir IDE ile yalnızca zamandan tasarruf edersiniz …… Ancak, derleme sırasında bir IDE veya TERMİNAL kullanırken işlevsellikten bahsedersek, ikisi de aynı işlevleri yerine getirir.
Bu bir zevk ve rahatlık meselesidir.
Glade'in var (https://glade.gnome.org/), uygulama pencerelerini basit fare tıklamalarıyla hızlı bir şekilde tasarlamanıza olanak tanıyan bir RAD aracıdır.
Arayüz oluşturulduktan sonra, C, C ++, Python, Perl, Vala, Java vb. Programlama dillerinden çağırabileceğiniz xml formatında bir dosya oluşturur.
Umarım bu soru sorunuzu yanıtlamıştır.
Bir pencere yaratıcısını entegre eden bir fikir varsa, Anjuta IDE.
Merhaba Lolbimbo:
Bir süre önce, D ve Golang'dan önce x nedenlerden dolayı Vala'yı ana dilim olarak kullanmaya karar verdim, ancak bir sorunda sıkışıp kaldım, çok iyi derlediğim kod, ama şimdi şu hatayı alıyorum:
/media/…/vala/nn.vala.c: 'main' işlevinde:
/media/…/vala/nn.vala.c:155:2: uyarı: 'g_type_init' kullanımdan kaldırıldı (/usr/include/glib-2.0/gobject/gtype.h:669 adresinde açıklandı) [-Wdeprecated-bildirimler]
g_type_init();
Çok fazla sorun olursa anlayacağım, şimdiden teşekkürler ve blog için tebrikler.
Merhaba arkadaşım, vala ile başlıyorum, ama 155. satırda sahip olduğunuz kodu bana iletin, neyse bu bir uyarı, bir hata değil, sizin için çalışıyorsa, bir vala bug olabileceğinden hiçbir şey olmuyor.
Merhaba Lolimbo, Vala'da yalnız hissettiğim için coşkunuzu kutluyorum, aslında hata bana herhangi bir kodda şu kadar basit: Gtk kullanımı;
int main (string [] args) {
Gtk.init (ref bağımsız değişkenleri);
var pencere = yeni Pencere ();
window.title = "İlk GTK + Programı";
pencere.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var button = new Button.with_label ("Beni tıklayın!");
button.clicked.connect (() => {
button.label = "Teşekkürler";
});
Deneyin {
// Ya doğrudan bir dosyadan ...
window.icon = new Gdk.Pixbuf.from_file ("my-app.png");
//… veya temadan
window.icon = IconTheme.get_default () .load_icon ("uygulamam", 48, 0);
} catch (Hata e) {
stderr.printf ("Uygulama simgesi yüklenemedi:% s \ n", e.message);
}
window.add (düğme);
pencere.show_all();
Gtk.ana ();
0 dönmek;
}
Ancak Windows ile evde çalışma arasında, hatayı araştıracak vaktim yok, bana öyle geliyor ki bu vala sürümleriyle ilgili bir sorun, bilmiyorum.
Valanın güncellenmesi uyarıyı kaldırmalıdır.
Öğretici iyi açıklanmış ve hoşuma gitti, sadece her zaman merak ettiğim için, neden her zaman "merhaba dünya" programıyla başlayın, yeni başlayanlar için sorun olmaz, peki ya zaten programlama deneyimi olanlar? Neden birkaç öğeyle (düğmeler, etiketler vb.) Bir arayüzün nasıl yapılacağını belirtmiyorsunuz?
Vala'yı seviyorum ve öğrenmek istiyorum, ancak biraz daha "arada" başlamak daha yapıcı olur, değil mi?
Yakında orta seviyeli başka bir gönderi var.
Java?
Güzel öğretici iyi açıklandı ve her şey aslında öğrenilecekler listeme vala ve gtk koymayı düşünmemi sağladı.
Mükemmel, şimdi bir Tohum (javascript) + Gtk öğreticisi öneriyorum, bu Gnome projesinin seçtiği resmi seçenek olduğu için oldukça ilginç olurdu.