Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # IMAGE-VIEWER.py
- import PySimpleGUI as sg
- import os.path
- # First the window layout in 2 columns
- file_list_column = [
- [
- sg.Text("Image Folder"),
- sg.In(size=(25, 1), enable_events=True, key="-FOLDER-"),
- sg.FolderBrowse(),
- ],
- [
- sg.Listbox(
- values=[], enable_events=True, size=(40, 20), key="-FILE LIST-"
- )
- ],
- ]
- # For now will only show the name of the file that was chosen
- image_viewer_column = [
- [sg.Text("Choose an image from list on left:")],
- [sg.Text(size=(40, 1), key="-TOUT-")],
- [sg.Image(key="-IMAGE-")],
- ]
- # ----- Full layout -----
- layout = [
- [
- sg.Column(file_list_column),
- sg.VSeperator(),
- sg.Column(image_viewer_column),
- ]
- ]
- window = sg.Window("Image Viewer", layout)
- # Run the Event Loop
- while True:
- event, values = window.read()
- if event == "Exit" or event == sg.WIN_CLOSED:
- break
- # Folder name was filled in, make a list of files in the folder
- if event == "-FOLDER-":
- folder = values["-FOLDER-"]
- try:
- # Get list of files in folder
- file_list = os.listdir(folder)
- except:
- file_list = []
- fnames = [
- f
- for f in file_list
- if os.path.isfile(os.path.join(folder, f))
- and f.lower().endswith((".png", ".gif"))
- ]
- window["-FILE LIST-"].update(fnames)
- elif event == "-FILE LIST-": # A file was chosen from the listbox
- try:
- filename = os.path.join(
- values["-FOLDER-"], values["-FILE LIST-"][0]
- )
- window["-TOUT-"].update(filename)
- window["-IMAGE-"].update(filename=filename)
- except:
- pass
- window.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement