PyGTK - คลาสลูกศร
วัตถุ gtk.Arrow ใช้ในการวาดลูกศรอย่างง่ายที่ชี้ไปยังสี่ทิศทางที่สำคัญ คลาสนี้สืบทอดมาจากgtk.Misc คลาสและอ็อบเจ็กต์จะครอบครองพื้นที่ใด ๆ ที่จัดสรรไว้เช่นวิดเจ็ต Label หรือ Button
โดยทั่วไปวัตถุ Arrow ถูกสร้างขึ้นโดยใช้ตัวสร้างต่อไปนี้ -
Arr = gtk.Arrow(arrow_type, shadow_type)
ค่าคงที่ arrow_type ที่กำหนดไว้ล่วงหน้าคือ -
- gtk.ARROW_UP
- gtk.ARROW_DOWN
- gtk.ARROW_LEFT
- gtk.ARROW_RIGHT
ค่าคงที่ shadow_type ที่กำหนดไว้ล่วงหน้าแสดงอยู่ในตารางต่อไปนี้ -
gtk.SHADOW_NONE | ไม่มีโครงร่าง |
gtk.SHADOW_IN | โครงร่างเอียงเข้าด้านใน |
gtk.SHADOW_OUT | โครงร่างเอียงออกด้านนอกเหมือนปุ่ม |
gtk.SHADOW_ETCHED_IN | โครงร่างเป็นมุมเอียงเข้าด้านใน แต่กรอบจะเอียงออกไปด้านนอก |
gtk.SHADOW_ETCHED_OUT | โครงร่างเป็นมุมเอียงด้านนอกกรอบมุมเอียงเข้าด้านใน |
ตัวอย่าง
ในตัวอย่างต่อไปนี้วิดเจ็ตปุ่มสี่ปุ่มจะถูกเพิ่มลงใน Hbox ที่ด้านบนของแต่ละปุ่มจะมี gtk วัตถุลูกศรชี้ขึ้นลงซ้ายและขวาตามลำดับจะถูกวางไว้ คอนเทนเนอร์ HBOX วางอยู่ที่ด้านล่างของหน้าต่างระดับบนด้วยความช่วยเหลือของ Alignment container
สังเกตรหัส -
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()
โค้ดด้านบนจะสร้างผลลัพธ์ต่อไปนี้ -