İlk adımlar [Vala + Gtk 3]: Merhaba Dünya !!

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).

çizik

Merhaba Dünya! 'Nın tipik örneğini görelim. Bu aşağıdaki gibi olacaktır:

2013-10-31 23:33:12 arası yakalama

Ve kod şöyle görünecektir:

2013-10-31 23:34:48 arası yakalama

Ş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:

2013-10-31 23:35:58 arası yakalama

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


Makalenin içeriği şu ilkelerimize uygundur editoryal etik. Bir hata bildirmek için tıklayın burada.

14 yorum, sizinkini bırakın

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak.

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   pandev92 dijo

    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.

    1.    detaylı dijo

      Tasarım aşamasında iyi bir iş çıkardıysanız, programlama sırasında IDE kullanmak için hiçbir nedeniniz olmazdı.

      1.    pandev92 dijo

        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.

        1.    Marianogaudix dijo

          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.

        2.    Artus dijo

          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.

        3.    lolbimbo dijo

          Bir pencere yaratıcısını entegre eden bir fikir varsa, Anjuta IDE.

  2.   Juan Pablo dijo

    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.

    1.    lolbimbo dijo

      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.

      1.    Juan Pablo dijo

        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ı";
        window.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.

        1.    lolbimbo dijo

          Valanın güncellenmesi uyarıyı kaldırmalıdır.

  3.   Uribes dijo

    Öğ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?

    1.    lolbimbo dijo

      Yakında orta seviyeli başka bir gönderi var.

  4.   Juanra 20 dijo

    Java?

    Güzel öğretici iyi açıklandı ve her şey aslında öğrenilecekler listeme vala ve gtk koymayı düşünmemi sağladı.

  5.   -ik- dijo

    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.