Python ile Budgie masaüstü için uygulama geliştirmek
Bu derste Allah'ın izni ile Python programlama dili ile Budgie masaüstü için nasıl uygulama geliştirebileceğimizi öğreneceğiz.
Öncelikle Gtk kütüphanesi kullanarak basit pencereli bir uygulama geliştirmeye çalışalım.
Aşağıdaki kütüğü selam.py
ismi ile kaydediniz.
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class Selamla (Gtk.Window):
def __init__(bir):
super().__init__()
bir.selam = Gtk.Label(label="Selâmun Aleyküm")
bir.add(bir.selam)
bir.show_all()
selamla = Selamla()
selamla.connect("destroy", Gtk.main_quit)
Gtk.main()
Uygulamayı çalıştırmak için python selam.py
yazmanız yeterlidir.
Kaynak kodu incelediğimizde import
ile from
satırları arası Gtk 3.0 kütüphanesini kullanmak istediğimizi belirtiyoruz.
Oluşturduğumuz Selamla
isimli sınıf Gtk pencere sınıfından miras alıyor. Yani bir penceredir.
Python'da kurucu işlev def __init__(bir)
şeklinde tanımlanıyor.
Burada bir
kelimesi bazı kaynaklarda self
olarak geçiyor.
bir
yerine dilediğimiz ismi verebiliriz.
Önemli olan ilk sırada sınıfa gönderilmiş olmasıdır.
Bu ilk parametre sınıfın kendisini gösteriyor.
Örneğin bir.selam
dersek sadece sınıfın içinde geçerli bir değişken tanımlamak istediğimizi belirtiyoruz.
Basit bir etiket oluşturuyoruz. Bu etiketi pencereye ekliyoruz.
selamla = Selamla()
satırında ise gerçekten oluşturduğumuz pencere sınıfına ait bir örnek oluşturuyoruz.
selamla.connect("destroy", Gtk.main_quit)
Bu satır çarpı işaretine basıncı uygulamadan çıkılmasını sağlıyor.
Kaynak kodda aşağıdaki değişikleri yapıp selam.py
ismi ile kaydediniz.
import gi.repository
gi.require_version('Budgie', '1.0')
from gi.repository import GObject, Budgie, Gtk
class Selam (GObject.GObject, Budgie.Plugin):
__gtype_name__ = "Selam"
def __init__(bir):
GObject.GObject.__init__(bir)
def do_get_panel_widget(bir, no):
return Selamla(no)
class Selamla (Budgie.Applet):
def __init__(bir, no):
Budgie.Applet.__init__(bir)
bir.selam = Gtk.Label(label="Selâmun Aleyküm")
bir.add(bir.selam)
bir.show_all()
Uygulamanın kaynak koduna baktığımızda import
ile from
satırları arası GObject, Budgie ve Gtk kütüphanelerini ekledik.
Selam
isimli bir sınıf ekledik.
Bu sınıf Budgie.Plugin sınıfından türetiliyor.
Kısacası Selam
sınıfının türü bir eklentidir.
Selamla
sınıfına gelince daha önce bir Gtk penceresinden miras alıyordu. Bu sefer bir Budgie uygulamasından türüyor.
Selamla sınıfının türü ise uygulamadır.
Yani artık bir Budgie uygulaması geliştiriyoruz.
Selamla sınıfının kurucu işlevinde üst sınıfın kurucu işlevini çağırıyoruz.
Budgie.Applet.__init__(bir)
Öncelikle bir dizin oluşturalım.
mkdir ~/.local/share/budgie-desktop/plugins/selam
Oluşturduğumuz dizine selam.py
kütüğünü kopyalayalım.
cp selam.py ~/.local/share/budgie-desktop/plugins/selam/selam.py
Oluşturduğumuz dizinin içine girelim.
cd ~/.local/share/budgie-desktop/plugins/selam/
Bu dizinde Selam.plugin
isimli bir kütük oluşturup içine aşağıdaki bilgileri girelim.
[Plugin]
Loader=python3
Module=selam
Name=Selam
Description=Selam ver
Authors=Erdem
Copyright=Her hakkı sebildir
Website=https://elektronik.vercel.app
Icon=firefox
Kütüğü kaydettikten sonra bir üst dizine geçelim.
cd ..
Eklentiyi tanıtmak için aşağıdaki komutu verelim.
budgie-panel --replace &
Eğer bir hata vermezse eklentimiz yüklenecektir.
Hata iletileri ekrana yazılıyor.
Eklentiyi yüklemek için masaüstünde sağ tıklıyoruz.
Budgie Masaüstü Ayarları
'nı seçiyoruz.
Kendi geliştirdiğimiz eklentilerin diğer eklentilerle karışmaması için yeni bir rıhtım oluşturabiliriz.
Buradan yeni panel oluştur diyoruz.
Rıhtımın ayarları yukarıdaki gibidir.
Uygulamalar
bölümünden Uygulama ekle
kısmından +
işaretine basarak eklentiyi ekleyebiliriz.
Rıhtıma eklendikten sonra uygulamanın çalıştığını görebilirsiniz.
Yorumlar