PyGTK - Lớp mũi tên

Đối tượng gtk.Arrow được sử dụng để vẽ mũi tên đơn giản chỉ về bốn hướng chính. Lớp này được kế thừa từgtk.Misc lớp và đối tượng sẽ chiếm bất kỳ không gian nào được cấp cho nó, ví dụ, một tiện ích Nhãn hoặc Nút.

Thông thường, đối tượng Arrow được tạo bằng cách sử dụng hàm tạo sau:

Arr = gtk.Arrow(arrow_type, shadow_type)

Các hằng số arrow_type được xác định trước là -

  • gtk.ARROW_UP
  • gtk.ARROW_DOWN
  • gtk.ARROW_LEFT
  • gtk.ARROW_RIGHT

Các hằng số shadow_type được xác định trước được liệt kê trong bảng sau:

gtk.SHADOW_NONE Không có dàn ý.
gtk.SHADOW_IN Đường viền được vát vào trong.
gtk.SHADOW_OUT Đường viền được vát ra ngoài giống như một chiếc cúc áo.
gtk.SHADOW_ETCHED_IN Bản thân đường viền là một góc xiên vào trong, nhưng khung lại vát ra ngoài.
gtk.SHADOW_ETCHED_OUT Đường viền là một góc xiên ra ngoài, khung hình xiên vào trong.

Thí dụ

Trong ví dụ sau, bốn tiện ích Nút được thêm vào Hbox. Trên đầu mỗi nút, một đối tượng gtk.Arrow lần lượt trỏ LÊN, XUỐNG, TRÁI và PHẢI. Vùng chứa HBOX được đặt ở dưới cùng của cửa sổ cấp trên với sự trợ giúp của vùng chứa Căn chỉnh.

Quan sát mã -

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Arrow Demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)
		
      vbox = gtk.VBox(False, 5)
      hbox = gtk.HBox(True, 3)
      valign = gtk.Alignment(0, 1, 0, 0)
      vbox.pack_start(valign)
		
      arr1 = gtk.Arrow(gtk.ARROW_UP, gtk.SHADOW_NONE)
      arr2 = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_NONE)
      arr3 = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
      arr4 = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)
		
      btn1 = gtk.Button()
      btn1.add(arr1)
      btn2 = gtk.Button()
      btn2.add(arr2)
      btn3 = gtk.Button()
      btn3.add(arr3)
      btn4 = gtk.Button()
      btn4.add(arr4)
		
      hbox.add(btn1)
      hbox.add(btn2)
      hbox.add(btn3)
      hbox.add(btn4)
		
      halign = gtk.Alignment(0.5, 0.5, 0, 0)
      halign.add(hbox)
		
      vbox.pack_start(halign, False, True, 10)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

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