main.py
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QMainWindow,QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView
import threading
from flask import Flask, render_template
app1 = Flask(__name__, template_folder='./page', static_folder='./page/static')
@app1.route('/')
def index():
return render_template('index.html', error='')
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle('qt-flask-vue')
self.setGeometry(5,30,600,500)
self.browser=QWebEngineView()
self.setCentralWidget(self.browser)
def setUrl(self,host,port,route):
url = 'http://'+host+":"+port+route
#加载外部的web界面
self.browser.load(QUrl(url))
if __name__ == '__main__':
app=QApplication(sys.argv)
kwargs = {'host': '127.0.0.1', 'port': '5000' , 'threaded' : True, 'use_reloader': False, 'debug':False}
threading.Thread(target=app1.run, daemon = True, kwargs=kwargs).start()
win=MainWindow()
win.setUrl(kwargs['host'],kwargs['port'],'/')
win.show()
app.exit(app.exec_())