loading...
Açıklab

GO ile GTK uygulaması geliştirme - 1

aliorhun profile image Ali Orhun Akkirman ・2 min read

GO dili ile GTK3 kütüphanesi kullanarak geliştirme yapabilirsiniz.

GOlang uygulamasının kurulumu

Debian tabanlı sistemlerde golang dilini kurabilmek için golang paketini yüklemeniz gerekmektedir. Bu paket kendisi diğer bağımlılıklarını yüklemektedir:

sudo apt install golang

GTK geliştirmek için gerekli paketlerin kurulumu

GOlang paketini yükledikten sonra GTK arayüzü geliştirmek için ise aşağıdaki 3 paketi ve gerekli bağımlılıkları yüklemeniz gerekmektedir:

sudo apt install libgtk-3-dev libcairo2-dev libglib2.0-dev

Güncel GOTK3 kütüphanesini kullanmak

Gerekli paketler kurulduktan sonra komut satırından aşağıdaki komut ile GTK3'ün GO dili bağlayıcısını indirmeniz gerekmektedir:

go get github.com/gotk3/gotk3/gtk

Ve tabi bu adımdan sonra sisteminiz artık GTK ile uygulama geliştirmek için hazır.

Örnek GTK uygulaması inşa etmek

Bu işlem için GOTK3 kütüphanesindeki ilk örneği yapabiliriz. Yorum satırlarını da bilerek kaldırmadım detaylı inceleyebilirsiniz. Bu örnek ve daha fazla örneği ise bu adreste bulabilirsiniz. Aşağıdaki içeriği örneğin ilkornek.go adıyla kaydedebilirsiniz.

package main

import (
    "github.com/gotk3/gotk3/gtk"
    "log"
)

func main() {
    // Initialize GTK without parsing any command line arguments.
    gtk.Init(nil)

    // Create a new toplevel window, set its title, and connect it to the
    // "destroy" signal to exit the GTK main loop when it is destroyed.
    win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
    if err != nil {
        log.Fatal("Unable to create window:", err)
    }
    win.SetTitle("İlk Örnek Başlık")
    win.Connect("destroy", func() {
        gtk.MainQuit()
    })

    // Create a new label widget to show in the window.
    l, err := gtk.LabelNew("Merhaba gotk3 Dünyası!")
    if err != nil {
        log.Fatal("Unable to create label:", err)
    }

    // Add the label to the window.
    win.Add(l)

    // Set the default window size.
    win.SetDefaultSize(800, 600)

    // Recursively show all widgets contained in this window.
    win.ShowAll()

    // Begin executing the GTK main loop.  This blocks until
    // gtk.MainQuit() is run.
    gtk.Main()
}

Dosyayı kaydettiğiniz yerde aşağıdaki komutu kullanarak inşa edebilirsiniz. Bu komut çıktısında ilkornek adında bir çalıştırılabilir ikili dosya oluşturulmaktadır:

go build ilkornek.go

Uygulamayı çalıştırmak

Oluşturulan ikili dosyayı aşağıdaki gibi çalıştırarak "Merhaba gotk3 Dünyası!" yazısını görebilirsiniz:

./ilkornek

Alt Text

Nihil novi sub sole

Posted on by:

Discussion

markdown guide
 

Su buton ekleyince butun frame’e yayilmasi ya da herhangi bir elementin frame’e yayilmasi kotu bir sey.

C#’in Windows Form’u gibi drap drop double click ve kodu yaz calistir seklinde bir sey asla gelmeyecek sanirim.

 

"Grid" yapısını doğru ayarladıktan sonra düzeliyor aslında GTK3'te. Tabi bu örnekte grid yapısı hiç kullanılmadı :)

Python belgelerinden bağlantı vereceğim ama:
python-gtk-3-tutorial.readthedocs....

Aslında glade ile arayüzü oluşturup sonra bağlayabiliyorsun da :) Tabi bence kısıtlıyor insanı.

 

Evet bunu kullaniyorum ama otomatik olarak belirtilmedikce componentler ust componenti kaplamamali. Belirtilen boyut kadar containera gizlenmeli bence.

Her component ayni zamanda container olmali yani.