[Tips Tkinter]: Image Preview – Program Penampil Gambar

Halo…apa kabar PythonMania? Kami berharap Anda semakin DAHSYAT setiap hari!. Nah, pada pembelajaran kali ini, kita akan belajar tentang bagaimana caranya menampilkan sebuah file gambar. Dan ternyata, Dengan Python Semua Jadi MUDAH!. Tentunya masih dengan GUI kesayangan kita…Tkinter YES!

:: TARGET PROGRAM ::
Program ini bertujuan untuk menampilkan gambar (khusus JPG, GIF, PNG, BMP). Detail program selengkapnya seperti kode di bawah ini.

:: KODE PROGRAM ::

# Nama File: bitview27.py
# Versi Python: 2.7
# Dibuat Tgl: 10 Juni 2012 01.15 AM
# Sumber Inspirasi: Tom Swan, Delphi 4 Bible, 1998 


from Tkinter import *
from tkFileDialog import *
from PIL import Image, ImageTk

class BitView27:
	def __init__(self, parent, title):
		self.parent = parent
		
		self.parent.geometry("600x450")
		self.parent.title(title)
		self.parent.protocol("WM_DELETE_WINDOW", self.onTutup)
		self.parent.resizable(False, False)
		
		self.aturKomponen()
		
	def aturKomponen(self):
		# buat main frame
		mainFrame = Frame(self.parent, bd=10)
		mainFrame.pack(fill=BOTH, expand=YES)
		
		# buat label penampil image
		self.lblImage = Label(mainFrame, text='Image Preview')
		self.lblImage.pack(side=TOP, fill=BOTH, expand=YES)
		
		# buat menu
		menuBar = Menu(self.parent)
		
		fileMenu = Menu(menuBar, tearoff=1)
		fileMenu.add_command(label='Buka', underline=0, 
			command=self.onBuka)
		fileMenu.add_command(label='Keluar', underline=0, 
			command=self.onTutup)
		menuBar.add_cascade(label='File', underline=0, menu=fileMenu)
		
		self.parent.config(menu=menuBar)
		
	def onBuka(self, event=None):
		filename = askopenfilename(filetypes=[('File Gambar', 
			('*.jpg', '*.bmp', '*.gif', '*.png'))])
			
		panjang = 600
		lebar = 450
		
		if filename:
			pict = Image.open(filename)
			gambar = ImageTk.PhotoImage(pict)
			
			self.lblImage.config(image=gambar)
			self.lblImage.image = gambar
			
			self.parent.title("Image Viewer :: " + filename)
		 
	def onTutup(self, event=None):
		self.parent.destroy()
		
if __name__ == '__main__':
	root = Tk()
	
	app = BitView27(root, "Image Viewer")
	
	root.mainloop()

Woke!..ternyata MUDAH bukan?…Salam PythonMania!

7 comments

    1. Bikin sheet latar belakangnya gimana sich caranya Gan? apa fiturnya cuma ada di wordpress?
      Saya mau modif skrip di atas untuk postingan saya he…3x.

      1. salam kenal @ Kamar Adi Eka

        mudah kok…tapi memang hanya berlaku di wordpress.com.
        tambahkan saja kode seperti dibawah ini (mode HTML)

        sourcecode

        selamat mencoba…Salam PythonMania!

    2. itu modul PIL ga ada atau diturunkan/ disisipkan modul lain ya, saya pakai v.3.3.0,
      trus bukannya Tkinter pakai huruf kecil ‘tkinter’ ?

      kode htmlnya untuk latar belakang mana, Gan?

      1. 1. PIL pada python versi 3.x tidak include didalamnya. Instal terpisah saja, ini linknya http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil. (khusus Windows)

        2. benar. pada versi 3 penulisan Tkinter diubah menjadi “tkinter” (huruf kecil semua). Sedangkan pada versi 2, ditulis “Tkinter” (T ditulis dengan huruf besar).

        3. untuk melihat kode HTML, coba di klik kanan. Pilih “Open Image in New Tab”.

        Selamat Mencoba…Salam PythonMania!

    3. Ajarin pendalaman penggunaan module urllib dkk. sampai ke akar-akarnya, Gan ! pake tkinter boleh, pakai python shell juga g apa.

      saya pengennya sih diajarin penggunaan array pada urllib. pada mis. tombol like facebook he…he…he…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s