gtk.Widget Sıkça Kullanılan Özellikleri

gtk.Widget Sıkça Kullanılan Özellikleri

# Mayıs 20, 2018 # Eğlence Kodlama Teknoloji 0

gtk.Widget – tüm PyGTK Widget araçları  için temel sınıftır.
Yani bir gtkWidget aracı aynı zamanda gtkWidget özelliği taşır ve onun ayar ve özelliklerini kapsar.
Bu açıdan öncelikle sıkça kullanılan gtkWidget ayar , özellik ve sinyallerini hakkında bilgi vermeye çalışacağım.

Başlıca gtkWidget özellikleri

      get_allocation()
Başlangıç , yükseklik ile boylam , enlem bilgilerini bir liste şeklinde öğrenmemizi sağlar.

>>> x = gtk.Window()
>>> x.get_allocation()
gtk.gdk.Rectangle(-1, -1, 1, 1)
>>> x.get_allocation()[0]
-1

    hide()
GtkWidget aracının haritalanmış görünümden gizlenmesini sağlar
   
    hide_all()

Gtk.Widget varsa alt widget araçlarıyla birlikte   gizlenme sağlar.
    show_all()

Gtk.Widget varsa alt widget araçlarıyla birlikte gösterilmesini sağlar.
    show()

Belirtilen widget aracının gösterilmesini sağlar.
    destroy() 

Gtk.Widget aracının haritalanmış alandan silinmesini sağlar.
     set_state(gtk.StateType)

gtk.Widget aracının belirtilen durum biçiminde belirtilmesini sağlar başlıca durum biçimleri;

gtk.STATE_NORMAL > Olağan sekilde gösterimi.
gtk.STATE_ACTIVE > Etkin araç gösterimi.
gtk.STATE_PRELIGHT     > İmleç üzerinde iken.
gtk.STATE_SELECTED > Seçilmiş araç gösterimi.
gtk.STATE_INSENSITIVE > Kullanıcı girdi ve eylemlerine tepkisizlik.

veya gtk3 üzerine geliştirme depolarında gtk.StateType.NORMAL gibi benzeri şekillerde belirtilebilir.
     set_sensitive( )

        True veya False değerleriyle widgetin kullanıcı girdilerine duyarlı veya duyarsız olmasını sağlar.
    set_size_request(genişlik, yükseklik)

Araç için geçerli olacak boyutlandırılamaz en düşük      genişlik ve yükseklik oranının belirtilmesini sağlar.
Tanımsız değer olarak ise -1 kullanılır.
    get_size_request   

 Araç için geçerli olacak boyutlandırılamaz en düşük      genişlik ve yükseklik oranının bilgisini verir.
    modify_fg(state, color)

Ön planda bulunan alanın State tipi belitrilerek gtk.gdk.Color  ile renk bilgisi eklenerek kullanılır.   
    modify_bg(state, color)

Arka planda bulunan alanın State tipi belitrilerek gtk.gdk.Color  ile renk bilgisi eklenerek kullanılır.   
    modify_base(state, color)

Alt alan için bulunan alanın State tipi belitrilerek gtk.gdk.Color  ile renk bilgisi eklenerek kullanılır.   
Renk değişimine Örnekler:

        
label.modify_fg(gtk.STATE_NORMAL,  gtk.gdk.color_parse("#D5D5D5"))   
label.modify_bg(gtk.STATE_NORMAL,  gtk.gdk.color_parse("#000000"))   

    render_icon(stock_id, size, detail=None)
Herhangibi bir gtkWidget aracından depo tanımlı simge üretimi sağlar.
Stock tanımlı simgelere ulaşmak için bağlantıyı,
http://www.pygtk.org/docs/pygtk/gtk-stock-items.html
veya komutu kullanabilirsiniz.

gtk.stock_list_ids()

Örnek:

    pixbuf = notebook.render_icon(gtk.STOCK_MEDIA_PLAY,gtk.ICON_SIZE_MENU,None)

   
Gtk Icon Size biçemlemeleri;

gtk.ICON_SIZE_INVALID
gtk.ICON_SIZE_MENU
gtk.ICON_SIZE_SMALL_TOOLBAR
gtk.ICON_SIZE_LARGE_TOOLBAR
gtk.ICON_SIZE_BUTTON 
gtk.ICON_SIZE_DND
gtk.ICON_SIZE_DIALOG

    Rakamsal olarak 1,5 değerleri arası:
           

pixbuf = notebook.render_icon(gtk.STOCK_MEDIA_PLAY,3,None)

    set_tooltip_text(text)

Girilen metin bilgisini bilgilendirme baloncuğu ile gösterir.
    set_tooltip_markup(markup)      
                     
Pango Markup Dilinde yazılmış betin bilgisini bilgilendirme baloncuğu ile gösterir.
Başlıca Pango Markup Tagları

b  _ Girdinin kalın gösterimini sağlar   
big _ Girdinin büyük görünmesini sağlar.
i _ Girdinin eğik görünmesini sağlar 
small _ Girdinin küçük görünmesini sağlar
u _ Girdinin altını çizer.

Tüm diğer seçeneklere ve bilgiye bağlantıdan ulaşabilirsiniz.
http://www.pygtk.org/docs/pygtk/pango-markup-language.html

    get_tooltip_markup

Tanımlandırılmış baloncuktaki markup bilgisini verir.

    get_tooltip_text

Tanımlandırılmış baloncuktaki metin bilgisini verir.
      add_events

Kullandığımız veya kullacağımız gtkWidget’i istediğimiz sinyal yapısına sahip olmayabilir bu gibi durumlarda yapmamız gerekende işte tam da bu özellikte yatıyor. Buradan(http://www.pygtk.org/docs/pygtk/gdk-constants.html#gdk-event-mask-constants)       ulaşabiliceğemiz
event maskeleriyle ihtiyaç duyduğumuz sinyalin gtk Aracına eklenmesini sağlıyabiliriz.
   

widget.add_events(gtk.gdk.ALL_EVENTS_MASK)

    get_window()

gtk.gdk.Window bilgisini geri döner
       
Gtk Araçları Üzerindeki İmleç Simgelerini Değiştirmek,
    get_window ile gtk aracımızı edindikten sonra
    gdk üzerinden Cursor aracımızı oluşturabiliriz,
    İmleç biçemleri listesini ve Cursor aracı hakkında detaylı bilgiye bağlantıdan ulaşabilirsiniz.
    http://www.pygtk.org/docs/pygtk/class-gdkcursor.html
örnek:

    
    imlec =  gtk.gdk.Cursor(gtk.gdk.TOP_SIDE)
    draw = draw.get_window()
    draw.set_cursor(imlec)
   

Örnek gtk Widget Sinyali Kullanımı

 
“button-press-event”  def callback(widget, event, kullanıc_girdisi1, …)
İmleç ile tıklanma bilgisini event üzerinden öğrenmemizi sağlar.
event.button rakamsal değerleri

1 ise sol tuş tıklaması
2 ise orta tuş tıklaması
3 ise sağ tuş tıklaması

event.type ve maskları hakkında detaylı bilgiye bağlantıdan ulaşabilirsiniz
http://www.pygtk.org/docs/pygtk/class-gdkevent.html

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ts=4:sw=4
import gtk
def duzenle_imlec(arac,imlecne):
    draw = arac.get_window()
    imlec = gtk.gdk.Cursor(imlecne)
    draw.set_cursor(imlec)
def tiklama(arac,event):
    print event.type,event.button
    if event.button == 1:
        arac.modify_bg(gtk.STATE_PRELIGHT,  gtk.gdk.color_parse("#e2c852"))
        arac.set_tooltip_text("Bilgi Verir")
        duzenle_imlec(arac,gtk.gdk.LEFT_SIDE)
    if event.button == 3:
        arac.modify_bg(gtk.STATE_PRELIGHT,  gtk.gdk.color_parse("#8d8d8d"))     
        arac.set_tooltip_markup("<big><b> Önemli Bilgi Verir</b></big>")
        duzenle_imlec(arac,gtk.gdk.SAILBOAT)

pencere = gtk.Window()
pencere.connect("delete-event",gtk.main_quit)

button = gtk.Button("\t\tTuşa Tıkla\t\t\t")
button.connect("button-press-event",tiklama)
pencere.add(button)
 
pencere.show_all()
gtk.main()

Tüm widget ayar, özellik ve sinyalleri için bağlantıdan yararlanabilirsiniz.
http://www.pygtk.org/docs/pygtk/class-gtkwidget.html

Java’ya Merhaba
Java Teknolojisi nedir ve neden ihtiyacımız olsun? Java bir programlama dili ve bilgi işlem ortamı olarak ilk olarak Sun Microsytem Read more.
PR VS AD? Reklam nedir, ne değildir?
   Shakira, Darth Vader’ı alt etti; Pop yıldızın Activia sponsorlu müzik videosu tüm zamanların en çok paylaşılan reklamına dönüşmesi: bit.ly/1ogx9UW Read more.
Venüste Neden Yaşam Yoktur
     Venüs adını eski roma tanrıçasından alır, eski yunandaysa afrodit aşk ve güzellik tanrıçası, venüsün bir diğer adı ise Read more.
Glade, gtk+ ?
GLADE Glade Nedir? Gtk Builder? Gtk Builder İşlevleri? ÖRNEKLER Glade Nedir? Glade, Gnome Masaüstü ortamına ,GTK+ araçkiti için hızlı ve Read more.
Adım adım “python” ile altyazı editörü
#!/usr/bin/env python # -*- coding: utf-8 -*- # vim: ts=4:sw=4 class srt_editor(): def __init__(self,dosya, sure,durum=False): # kullanıcıdan gelen ana değişkenler Read more.
Parça parça “Crystallizing Public Opinion”
.. the professional concept of public relations has its roots in pirimitive times, though relationship between those who led and Read more.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir