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
Nihil novi sub sole
Top comments (3)
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.