Я пытаюсь создать настольное приложение, используя PyQt5 и Flask.Я хотел бы иметь некоторый механизм для выбора каталога в приложении фляги.Это не возможно напрямую через Flask, поэтому я хотел использовать QFileDialog PyQt.Однако это не может быть вызвано из Flask, поэтому я пытаюсь выяснить, как лучше настроить Flask и мой графический интерфейс?Я читал о возможном использовании сокетов или очередей задач, таких как Celery, но не уверен, что является лучшим решением?
from PyQt5.QtCore import QUrl, QThread
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import QWebEngineView
from flask import Flask, render_template, request, jsonify
import os
class FlaskThread(QThread):
def __init__(self, application):
QThread.__init__(self)
self.application = application
def __del__(self):
self.wait()
def run(self):
self.application.run(port=PORT)
app = Flask(__name__)
@app.route('/')
def index():
return render_template("index.html")
file = str(QFileDialog.getExistingDirectory(None, "Select Directory"))
def provide_GUI_for(application):
qtapp = QApplication(sys.argv)
webapp = FlaskThread(application)
webapp.start()
qtapp.aboutToQuit.connect(webapp.terminate)
webview = QWebEngineView()
webview.load(QUrl(ROOT_URL))
webview.show()
return qtapp.exec_()
if __name__ == '__main__':
sys.exit(provide_GUI_for(app))