PyGTK - Lớp khung

Lớp khung là một lớp con của lớp gtk.Bin. Nó vẽ một đường viền trang trí xung quanh widget con được đặt trong đó. Khung có thể chứa nhãn mà vị trí của nó có thể được tùy chỉnh.

Đối tượng gtk.Frame được xây dựng với sự trợ giúp của hàm tạo sau:

frame = gtk.Frame(label = None)

Sau đây là các phương thức của lớp gtk.Frame ():

  • set_label(text) - Điều này đặt nhãn như được chỉ định bởi text. NếuNone, nhãn hiện tại đã bị xóa.

  • set_label_widget() - Điều này đặt một widget khác với gtk.Label làm nhãn cho khung.

  • set_label_align(x, y) - Điều này đặt căn chỉnh của tiện ích nhãn và trang trí của khung (mặc định là 0,0 và 0,5)

  • set_shadow_type() - Điều này thiết lập loại bóng của khung.

Các giá trị có thể là -

  • gtk.SHADOW_NONE
  • gtk.SHADOW_IN
  • gtk.SHADOW_OUT
  • gtk.SHADOW_ETCHED_IN
  • tk.SHADOW_ETCHED_OUT

Đoạn mã sau minh họa hoạt động của tiện ích Frame. Một nhóm gồm ba đối tượng của gtk.RadioButton được đặt trong một HButtonBox.

btn1 = gtk.RadioButton(None,"Degree")
btn2 = gtk.RadioButton(btn1,"P.G.")
btn3 = gtk.RadioButton(btn1,"Doctorate")
hb = gtk.HButtonBox()
hb.add(btn1)
hb.add(btn2)
hb.add(btn3)

Để vẽ đường viền xung quanh hộp, nó được đặt trong tiện ích Khung và nó được thêm vào cửa sổ cấp trên cùng.

frm = gtk.Frame()
frm.add(hb)
self.add(frm)

Thí dụ

Quan sát đoạn mã sau:

import gtk

class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Frame Demo")
      self.set_default_size(250, 200)
      self.set_border_width(5)
      frm = gtk.Frame()
      hb = gtk.HButtonBox()
      btn1 = gtk.RadioButton(None,"Degree")
      hb.add(btn1)
      btn2 = gtk.RadioButton(btn1,"P.G.")
      hb.add(btn2)
      btn3 = gtk.RadioButton(btn1,"Doctorate")
      hb.add(btn3)
      frm.add(hb)
      frm.set_label("Qualifications")
      self.add(frm)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

if __name__ == '__main__':
   PyApp()
   gtk.main()

Đoạn mã trên sẽ tạo ra kết quả sau: