我正在尝试围绕我的烧瓶应用程序为办公室中的菜鸟创建一个简单的tkinter GUI窗口。我希望脚本按以下顺序执行这些任务:
到目前为止,这是我所拥有的,但是该应用程序独立于tkinter窗口运行,并且在看到gui窗口之前,必须使用crtl + c终止flask应用程序:
from flask_app import app from tkinter import tk import webbrowser class GUI: def __init__(self): app.run() self.btn = tk.Button(root, text='Open in Browser', command:self.open_browser_tab).pack() def open_browser_tab(self): webbrowser.open(url='http:127.0.0.1:5000', new=2) if __name__ == '__main__': root = tk.Tk() GUI(root) root.mainloop()
那么如何在应用程序运行时运行流程?
flask应用程序阻止了您的GUI。您有两种选择:
可以编写tkinter具有多个线程的应用程序,但是您必须注意这样做。
tkinter
我建议使用该subprocess模块。如果将我们的功能分成两个应用程序,并使用子过程模块启动/停止flask应用程序,我想您将拥有所需的东西。
subprocess