PyGTK - Lớp CheckButton
Một widget CheckButton không là gì ngoài một ToggleButton được tạo kiểu như một hộp kiểm và một nhãn. Nó kế thừa tất cả các thuộc tính và phương thức từ lớp ToggleButton. Không giống như ToggleButton, nơi chú thích nằm trên mặt của nút, CheckButton hiển thị một hình vuông nhỏ có thể kiểm tra được và có nhãn ở bên phải của nó.
Hàm tạo, phương thức và tín hiệu được liên kết với gtk.CheckButton hoàn toàn giống với gtk.ToggleButton.
Thí dụ
Ví dụ sau minh họa việc sử dụng tiện ích CheckButton. Hai CheckButton và một Nhãn được đặt trong một VBox. Tín hiệu được bật tắt của CheckButton đầu tiên được kết nối với phương thức on_checked () đặt trạng thái của nút thứ hai thành True nếu nút đầu tiên là false và ngược lại.
Quan sát mã -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Check Button")
self.set_default_size(250, 200)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox()
self.btn1 = gtk.CheckButton("Button 1")
self.btn1.connect("toggled", self.on_checked)
self.btn2 = gtk.CheckButton("Button 2")
self.btn2.connect("toggled", self.on_checked)
self.lbl = gtk.Label()
vbox.add(self.btn1)
vbox.add(self.btn2)
vbox.add(self.lbl)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
def on_checked(self, widget, data = None):
state = "Button1 : "+str(self.btn1.get_active())+"
Button2 : "+str(self.btn2.get_active())
self.lbl.set_text(state)
if __name__ == '__main__':
PyApp()
gtk.main()
Đoạn mã trên sẽ tạo ra kết quả sau: