2,250 Views
Sinopsis
Membahas mengenai pembuatan GUI di python sudah pernah kita bahas yaitu menggunakan TKinter ataupun PySimpleGUI. Bagi kalian yang ingin membuat GUI sederhana dan cepat, gunakan saja PySimpleGUI karena kode yang digunakan lebih sedikit dan nggak ribet mengatur layout nya. Nah kali ini kalian akan diajak untuk membuat picture viewer menggunakan PySimpleGUI. Untuk menampilkan gambar juga butuh library yang lainnya yaitu PIL, kalian bisa install dengan pip dengan perintah
pip install pillow
Kalian gunakan kode dibawah ini, oiya belum dilengkapi dengan teknik filtering extension ya, jadi bisa kalian coba saja sendiri
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 21 22:17:33 2020
@author: Ghost
"""
import PySimpleGUI as sg
import glob
from PIL import Image, ImageTk
import io
#function yang digunakan untuk mengolah gambar
def get_img_data(f,first=False):
"""Generate image data using PIL
"""
img = Image.open(f)
[a,b,x,y]=img.getbbox()
print(x,y)
if (x>500 or y >500):
x = 250
y = 250
maxsize = (x,y)
img.thumbnail(maxsize)
if first:
bio = io.BytesIO()
img.save(bio, format="PNG")
del img
return bio.getvalue()
return ImageTk.PhotoImage(img)
image_elem = sg.Image() #untuk menampilkan gambar
tombol_cari = sg.Input(key='sumber_file',enable_events=True) #input ketika terjadi event
layout = [[sg.Text('File gambar')],
[tombol_cari,sg.FileBrowse('Cari file')],
[image_elem],
[sg.Exit('Keluar')] ]
window = sg.Window('Image Viewer-www.softscients.com',layout)
while True:
event,values = window.Read()
if event in (None,'Keluar'):
break
if event=='sumber_file': #terjadi event
text_input = values['sumber_file'] #lokasi file
if text_input!='':
image_elem.update(data=get_img_data(text_input, first=True))
else:
pass
window.Close()
Aplikasi Picture Viewer sangat mudah dibuat menggunakan PySimpleGUI
