Python WebGUI

文章探讨了PythonGUI开发的传统框架如pyqt6、pyside6的局限性,如缺乏可定制性和交互效果。提出使用网页作为GUI的新方法,利用Flask构建Web项目,并通过FlaskWebGUI或pywebview进行渲染。FlaskWebGUI有像素单位限制,而pywebview能解决这些问题但不能自定义浏览器路径。推荐使用Sanic搭配pywebview以实现异步高性能的WebGUI解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python WebGUI

Python GUI开发的新选择:

传统的GUI框架开发,如pyqt6,pyside6等框架,太死板,缺乏可定制性,相关依赖又缺失(如浏览器引擎)
页面的交互效果又太少,无法响应式开发,项目打包太大,无法 快速跨平台。

新的解决方法:   
     网页: 网页很常见,只需要写好页面和逻辑交互,剩下的交给浏览器去渲染即可,
     强大的CSS可以做很精美的样式,javascripts可以辅助构成强大的交互,Html可以选择模块化开发,
     一个html就是一个模块,一个页面.页面可以多成嵌套
     只需要写好web项目,然后由webgui去接管即可,启动应用就打开应用窗口!
from flask import Flask,render_template
app = Flask(__name__)

# 待补充的代码 (flask)
@app.route('/')
def page():
    return render_template('页面.html')  # 要渲染的应用程序  网页页面

1.使用Flaskwebgui

from flaskwebgui import FlaskUI
# 由flaskwebgui 接管flask项目
ui = FlaskUI(
    app=app,
    server="flask",
    width=940,
    height=640,
    port=5000,

).run()
if __name__ == '__main__':
    ui.run()

2.使用pywebview

from multiprocessing import Process 
import webview
def intel(): # 只需要把flask应用的项目  url放入即可
    webview.create_window("pywebview", url="http://127.0.0.1:5000", width=1200,height=800)
    webview.start()
    

if __name__ == '__main__':
    pipeline = Process(target=intel)
    pipeline.start()
    app.run(host="0.0.0.0",port=5000)

比较

flaskwebgui   可用选择渲染的浏览器   缺点(宽高单位是像素,不是电脑的尺寸,flask不能设置host,debug, 程序关闭,窗口还在)
pywebview     使用自带浏览器渲染     优点(解决以上问题)     缺点(不能自定义浏览器路径)

性能强劲的Web Gui开发推荐

1.  项目总体   sanic(异步高性能web构建)  + pywebview(webgui渲染)
2.  优化      IO操作多使用异步去处理 (asyncio风格)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值