#!/usr/bin/env python3 import os import sys from os import path from pathlib import Path from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtWebEngine import * from PyQt5.QtWebEngineWidgets import * app = QApplication(sys.argv) app.setApplicationName("SimplePanoramaViewer") if len(sys.argv) < 2: img_dialog = QFileDialog.getOpenFileName(None, "Open image", str(Path.home()), "JPG Images (*.jpg *.JPG *.jpeg *.pjpeg *.pjpg *.PJPG)") img = img_dialog[0] else: img = path.abspath(sys.argv[1]) if img == "": exit(0) img = img.replace("\\", "/") img = img.replace("'", "\\'") if getattr( sys, 'frozen', False ) : exe_dir = path.realpath(sys._MEIPASS) else : exe_dir = path.dirname(path.realpath(__file__)) os.chdir(exe_dir) try: with open("html/index.html", "r", encoding="utf8") as file: html = file.read() except OSError as exception: print("Error: HTML file not found: " + str(exception)) html = html.replace("__IMG_PATH__", img) web = QWebEngineView() url = QUrl.fromLocalFile(exe_dir + "/index.html") web.setHtml(html,url) web.setWindowTitle(img) web.showMaximized() web.show() sys.exit(app.exec_())