#!/usr/bin/python
import platform, json, sys, atexit, os
from PyQt5 import QtPrintSupport
from PyQt5 import QtWidgets
from PyQt5 import QtWebEngineWidgets
from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QIcon
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
from PyQt5.QtWidgets import QMainWindow, QApplication
def toggle_service(name, action):
cmd = 'net {} \'{}\'"'.format(action, name)
os.system(cmd)
with open("config_system.json") as file:
jsonDados = json.load(file)
class Window(QMainWindow) :
def __init__(self):
super().__init__()
self.setWindowIcon(QIcon('Icone-Sistema-transparente.ico'))
self.setWindowTitle("Dea Plus - Frente de caixa")
self.setGeometry(0,0, 1024, 768)
self.setMinimumHeight(768)
self.setMinimumWidth(1024)
self.showMaximized()
self.web = QWebEngineView()
self.page = QtWebEngineWidgets.QWebEnginePage(self)
self.page.printRequested.connect(self.printRequested)
self.setCentralWidget(self.web)
self.web.setGeometry(0,0, self.geometry().width(), self.geometry().height())
self.web.load(QUrl(jsonDados['url']))
def printRequested(self):
defaultPrinter = QtPrintSupport.QPrinter(
QtPrintSupport.QPrinterInfo.defaultPrinter())
dialog = QtPrintSupport.QPrintDialog(defaultPrinter, self)
if dialog.exec():
# printer object has to be persistent
self._printer = dialog.printer()
self._printer.setResolution(600)
self.page.print(self._printer, self.printResult)
def printResult(self, success):
if success:
QtWidgets.QMessageBox.information(self, 'Impressão concluída',
'A impressão foi concluída!', QtWidgets.QMessageBox.Ok)
else:
QtWidgets.QMessageBox.warning(self, 'Print failed',
'A impressão falhou!', QtWebEngineWidgets.QMessageBox.Ok)
self.printRequested()
del self._printer
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())