PyGTK - Lớp ButtonBox
Lớp ButtonBox trong API gtk đóng vai trò là lớp cơ sở cho các vùng chứa để giữ nhiều nút theo chiều ngang hoặc chiều dọc. Hai lớp con HButtonBox và VButtonBox có nguồn gốc từ lớp ButtonBox, bản thân nó là một lớp con của lớp gtk.Box.
Hộp nút được sử dụng để cung cấp bố cục nhất quán của các nút trong ứng dụng. Nó cung cấp một bố cục mặc định và một giá trị giãn cách mặc định liên tục trên tất cả các widget.
Các set_spacing() phương thức của lớp gtk.Box có thể được sử dụng để thay đổi khoảng cách mặc định giữa các nút trong hộp nút.
Bố cục mặc định của các nút có thể được thay đổi bằng cách set_default()phương pháp. Các giá trị có thể có của bố cục nút là -
gtk.BUTTONBOX_SPREAD
gtk.BUTTONBOX_EDGE
gtk.BUTTONBOX_START
gtk.BUTTONBOX_END.
Thí dụ
Trong ví dụ sau, một đối tượng VBox bên trong cửa sổ cấp cao bên trong chứa một đối tượng VButtonBox và một đối tượng HButtonBox, mỗi đối tượng chứa hai nút, được sắp xếp theo chiều dọc và chiều ngang tương ứng.
Quan sát mã -
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Button Box demo")
self.set_size_request(200,100)
self.set_position(gtk.WIN_POS_CENTER)
vb = gtk.VBox()
box1 = gtk.VButtonBox()
btn1 = gtk.Button(stock = gtk.STOCK_OK)
btn2 = gtk.Button(stock = gtk.STOCK_CANCEL)
box1.pack_start(btn1, True, True, 0)
box1.pack_start(btn2, True, True, 0)
box1.set_border_width(5)
vb.add(box1)
box2 = gtk.HButtonBox()
btn3 = gtk.Button(stock = gtk.STOCK_OK)
btn4 = gtk.Button(stock = gtk.STOCK_CANCEL)
ent = gtk.Entry()
box2.pack_start(btn3, True, True, 0)
box2.pack_start(btn4, True, True, 0)
box1.set_border_width(5)
vb.add(box2)
self.add(vb)
self.show_all()
PyApp()
gtk.main()
Đoạn mã trên tạo ra kết quả sau: