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: