Настольное приложение с PyQt5 и Flask: как использовать QFileDialog PyQt и передавать результаты в приложение фляги? - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь создать настольное приложение, используя 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...