|
- #!/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_())
|