PyGTK - RadioButton Sınıfı
Tek bir RadioButton pencere öğesi, CheckButton'a benzer işlevler sunar. Bununla birlikte, aynı kapta birden fazla radyo düğmesi bulunduğunda, kullanıcının mevcut seçeneklerden birini seçmesi için karşılıklı olarak dışlayıcı bir seçenek mevcuttur. Kaptaki her radyo düğmesi aynı gruba aitse, biri seçildiğinde diğerlerinin seçimi otomatik olarak kaldırılır.
Aşağıdaki, gtk.RadioButton sınıfının bir yapıcısıdır -
gtk.RadioButton(group = None, Label = None, unerline = None)
Bir düğme grubu oluşturmak için, group=None ilk Radyo düğmesi ve sonraki seçenekler için, ilk düğmenin nesnesini grup olarak sağlayın.
ToggleButton ve CheckButton durumunda olduğu gibi, RadioButton da the toggled signal. Aşağıda verilen örnekte, gtk.RadioButton widget'ının üç nesnesi bir VBox'a yerleştirilmiştir. Bunların tümü, geçişli sinyali işlemek için on_selected () bir geri arama işlevine bağlıdır.
Geri arama işlevi, kaynak RadioButton parçacığının etiketini tanımlar ve bunu VBox'a yerleştirilen etiket üzerinde görüntüler.
Misal
Aşağıdaki kodu inceleyin -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Radio Button")
self.set_default_size(250, 200)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox()
btn1 = gtk.RadioButton(None, "Button 1")
btn1.connect("toggled", self.on_selected)
btn2 = gtk.RadioButton(btn1,"Button 2")
btn2.connect("toggled", self.on_selected)
btn3 = gtk.RadioButton(btn1,"Button 3")
btn3.connect("toggled", self.on_selected)
self.lbl = gtk.Label()
vbox.add(btn1)
vbox.add(btn2)
vbox.add(btn3)
vbox.add(self.lbl)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
def on_selected(self, widget, data=None):
self.lbl.set_text(widget.get_label()+" is selected")
if __name__ == '__main__':
PyApp()
gtk.main()
Yukarıdaki kod aşağıdaki çıktıyı üretecektir -