最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Flask与PyQt结合使用时候,阻塞,界面卡死

互联网 admin 23浏览 0评论

Flask与PyQt结合使用时候,阻塞,界面卡死

一.问题起因

        做了个服务端, 使用到了python的PYQT6和Flask, PYQT做的是个简单的设置界面:

但是在点击开始运行, 写入flask run的代码的时候, PYQT界面卡死了

代码如下: 

 # 生产环境模式server = make_server('0.0.0.0', ser_port, app)server.serve_forever()app.run()

二.问题产生的原因及解决方法

原因:

      Flask被激活后。如果为app.run命令指定了任何参数(即使是在线程中),则它会阻塞其他命令。

解决方式:

     给flask单独开个线程run:

 #结合PYQT的界面模式kwargs = {'host': '127.0.0.1', 'port': ser_port, 'threaded': True, 'use_reloader': False, 'debug': False}threading.Thread(target=app.run, daemon=True, kwargs=kwargs).start()self.lbl_status.setText('服务正在运行中')self.btn_start.setText('停止运行')

Flask与PyQt结合使用时候,阻塞,界面卡死

一.问题起因

        做了个服务端, 使用到了python的PYQT6和Flask, PYQT做的是个简单的设置界面:

但是在点击开始运行, 写入flask run的代码的时候, PYQT界面卡死了

代码如下: 

 # 生产环境模式server = make_server('0.0.0.0', ser_port, app)server.serve_forever()app.run()

二.问题产生的原因及解决方法

原因:

      Flask被激活后。如果为app.run命令指定了任何参数(即使是在线程中),则它会阻塞其他命令。

解决方式:

     给flask单独开个线程run:

 #结合PYQT的界面模式kwargs = {'host': '127.0.0.1', 'port': ser_port, 'threaded': True, 'use_reloader': False, 'debug': False}threading.Thread(target=app.run, daemon=True, kwargs=kwargs).start()self.lbl_status.setText('服务正在运行中')self.btn_start.setText('停止运行')

发布评论

评论列表 (0)

  1. 暂无评论