import webview import base64 def open_file_dialog(window): file_types = ('Image Files (*.bmp;*.jpg;*.gif;*.png)', 'All files (*.*)') path = window.create_file_dialog(webview.OPEN_DIALOG, allow_multiple=False, file_types=file_types) with open(path[0], "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) window.evaluate_js( r""" var img = document.createElement('img'); img.src = "data:image/png;base64,%s"; document.getElementById('image-container').appendChild(img); """% ( encoded_string.decode('ascii')) ) if __name__ == '__main__': html = """ <html> <body> <h1>Selected Image</h1> </body> </html> """ window = webview.create_window('Open file dialog example', html=html) webview.start(open_file_dialog, window, debug=True,gui='cef')