PyGTK - คลาสรูปภาพ

คลาสนี้ยังสืบทอดมาจากคลาส gtk.Misc ออบเจ็กต์ของคลาส gtk.Image แสดงรูปภาพ โดยปกติภาพจะถูกโหลดจากไฟล์ในบัฟเฟอร์พิกเซลที่แสดงถึงคลาส gtk.gdk.Pixbuf แทนฟังก์ชันอำนวยความสะดวกset_from_file() มักใช้เพื่อแสดงข้อมูลรูปภาพจากไฟล์ในวิดเจ็ต gk.Image

วิธีที่ง่ายที่สุดในการสร้างวัตถุ gtk.Image คือการใช้ตัวสร้างต่อไปนี้ -

img = gtk.Image()

ต่อไปนี้เป็นวิธีการของคลาส gtk.Image -

  • Image.set_from_file() - ตั้งค่าข้อมูลรูปภาพจากเนื้อหาของไฟล์

  • Image.set_from_pixbuf() - ตั้งค่าข้อมูลรูปภาพจาก pixmap ซึ่งข้อมูลรูปภาพถูกโหลดสำหรับการปรับแต่งนอกจอ

  • Image.set_from_pixbuf() - ตั้งค่าข้อมูลภาพโดยใช้ pixbuf ซึ่งเป็นวัตถุที่มีข้อมูลที่อธิบายรูปภาพโดยใช้ทรัพยากรฝั่งไคลเอ็นต์

  • Image.set_from_stock() - ตั้งค่าข้อมูลรูปภาพจากรายการสต็อกที่ระบุโดย stock_id.

  • Image.clear() - สิ่งนี้จะลบภาพปัจจุบัน

  • Image.set_from_image()- ตั้งค่าข้อมูลรูปภาพจากบัฟเฟอร์รูปภาพฝั่งไคลเอ็นต์ในรูปแบบพิกเซลของการแสดงผลปัจจุบัน ถ้าภาพเป็นNoneข้อมูลรูปภาพปัจจุบันจะถูกลบออก

ตัวอย่าง

ในโปรแกรมต่อไปนี้วัตถุ gtk.Image ได้มาจากไฟล์รูปภาพ มีการเพิ่มเพิ่มเติมในหน้าต่างระดับบน

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      
	  self.set_title("PyGtk Image demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      
	  image1 = gtk.Image()
      image1.set_from_file("python.png")
      self.add(image1)
      
	  self.connect("destroy", gtk.main_quit)
      self.show_all()

PyApp()
gtk.main()

โค้ดด้านบนจะสร้างผลลัพธ์ต่อไปนี้ -