V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chy5301
V2EX  ›  Python

有没有比较方便好用的 Python GUI 框架?

  •  2
     
  •   chy5301 · 9 天前 · 5224 次点击
    想把之前写好的脚本工具转换成 GUI 的形式,让不了解怎么改脚本中的各种配置的人用得时候更方便一些
    53 条回复    2025-06-14 12:31:12 +08:00
    loading
        1
    loading  
       9 天前
    如果是我,我会使用 web 页面,写成配置后生成配置文件的方式。

    这样 python 不需要额外带这个 GUI 框架。

    当然,看你技能树了。

    如果只是为了配置文件,用 tkinter 即可,核心还是你本身那个工具,没必要花太多心思。
    loginv2
        2
    loginv2  
       9 天前
    写成网页不就好了 python 启动 http 服务
    chy5301
        3
    chy5301  
    OP
       9 天前
    @loading 是个类似计算器的工具,需要 “在界面上设置输入➡️计算➡️在界面上显示结果➡️再修改输入再计算” 这样,用 web 页面的效果会更好吗?
    zeusho871
        4
    zeusho871  
       9 天前 via Android
    最简单就是楼上说的 tkinter 这东西 ai 生成的还是可以看
    然后是 pyside ( pyqt ),这个配合 nuitka 可以打包成 exe (上面那个 tk 也可以的)
    然后就是 nicegui 以及 rio ui ,这个是用纯 python 写 web ui 的,好像是搭了一个 ws 服务器然后前端代码和后端通信然后套个 pywebview 之类的东西。具体看实现
    loading
        5
    loading  
       9 天前
    原来是个计算器,我以为是复杂的 .conf 文件呢,建议用 tkinter 随便做做就行
    chy5301
        6
    chy5301  
    OP
       9 天前
    @loading 对😂就个是给同事用的计算器,他们觉得改代码太麻烦
    chy5301
        7
    chy5301  
    OP
       9 天前
    @zeusho871 我先用 tkinter 看看效果
    crackidz
        8
    crackidz  
       9 天前   ❤️ 1
    以前还折腾折腾 GUI ,弄个 Web 界面
    现在是懒了,gradio 直接糊😂
    sun82kg
        9
    sun82kg  
       9 天前
    用 Tauri 画界面,把 python 功能包进去。又快又好看
    TimePPT
        10
    TimePPT  
       9 天前 via Android
    @crackidz Gradio +1 ,效率奇高
    XIVN1987
        11
    XIVN1987  
       9 天前   ❤️ 1
    pyqt 或者 pyside ,有 qtdesigner 可以拖拽生成界面,,简单很多。。唯一缺点是打包生成的 exe 稍大( 30MB 起步)

    不要用 tkinter ,,生成界面太丑,,不忍直视。。

    我用 pyqt 做的一些小工具: https://github.com/XIVN1987/PYQTool
    bronyakaka
        12
    bronyakaka  
       9 天前
    IamLostInCoding
        13
    IamLostInCoding  
       9 天前
    pyqt
    coderluan
        14
    coderluan  
       9 天前   ❤️ 2
    这种简单必须是 Gooey ,比上面所有的都简单,比大部分都好看,如果你本身就有 ArgumentParser ,那么两行代码可能就够了,https://github.com/chriskiehl/Gooey
    coldle
        15
    coldle  
       9 天前
    如果不是太复杂的脚本,建议让 ai 转成 js 放 html 文件里 😂 我拿给不懂技术的人用挺好使
    iorilu
        16
    iorilu  
       9 天前
    给懂点技术的可以用 web 方式

    纯小白建议用 tk 或 qt 之类的打包好 exe 一键执行
    PluginsWorld
        17
    PluginsWorld  
       9 天前
    electron-egg 刚用这个搭配 python 完成了业务
    ldyisbest
        18
    ldyisbest  
       9 天前
    试试 streamlit
    Cooky
        19
    Cooky  
       9 天前
    pyside 易学易用,tkinter 优点就是小,web 界面依赖少
    xiaojie668329
        20
    xiaojie668329  
       9 天前
    tkinter 就好,帮朋友写个 wps 文档批量转换工具,ai 生成直接一键跑起来。
    NoOneNoBody
        21
    NoOneNoBody  
       9 天前
    昨天跟 gpt 说了 123456...点后,gpt 就出了个 pyqt6 的脚本了,界面运行完全没问题
    然后里面 webengine 控件跑 js ,改了十几个小时都没弄好,今天还要继续……
    eephee
        22
    eephee  
       9 天前
    https://github.com/prompt-toolkit/python-prompt-toolkit 这个也不错,而且也适用于 TUI 场景
    laike9m
        23
    laike9m  
       9 天前 via Android   ❤️ 1
    那肯定是 BeeWare 了
    https://beeware.org/
    tt0411
        24
    tt0411  
       9 天前
    收藏了, 上面提到了很多不错的框架
    tywtyw2002
        25
    tywtyw2002  
       9 天前 via iPhone
    不打包自用的话 上 py imgui 或者 Dear PyGui

    之前用过 PySimpleGUI 还行,是套壳 webview 的
    mightybruce
        26
    mightybruce  
       9 天前
    这个简单场景 tkinter 足够,复杂一点的话考虑 wxPython.
    sunmker
        27
    sunmker  
       9 天前
    C# 的 winform ,拖拖拉拉控件就行
    bg7lgb
        28
    bg7lgb  
       9 天前
    简单用用,考虑 Tkinter ,美化可以用 tkbootstrap,能接受。
    功能复杂点的,可以用 Pyside2 ,
    simo
        29
    simo  
       9 天前
    猜你项目应该挺小的,tkinter 是最优选择,可以用 cursor 估计 1 小时就搞定了。如果平台兼容性要求高,维护麻烦,可以做成 web 的,省心
    caryRowen
        30
    caryRowen  
       9 天前
    wxpython
    GabrielleBellamy
        31
    GabrielleBellamy  
       9 天前
    要简单,不求审美的话用 Tkinter 就行。
    需要原生组件、考虑复杂设计,我一般用 PyQt 。
    ClericPy
        32
    ClericPy  
       9 天前
    总结下吧
    Streamlit 和 pywebio 转 web 挺简单的, gradio 大模型时代也又火了一阵

    如果喜欢纯 gui ,新手的话 pysimplegui 够用了,够简单,但是 5.0 以后必须注册帐号不喜欢了,改成一样 API 的 freesimplegui 了

    其他人直接给你推荐的 kivy pyqt/pyside wxpython 之类的都是比较正经的选择了

    一句话,想快速搞定:选 freesimplegui 、pywebio 、gradio 之类的
    huluhulu
        33
    huluhulu  
       9 天前
    The best one: pywebview
    COW
        34
    COW  
       9 天前
    企业里有 Jenkins 的话,直接配合参数化构建就能做了,没什么开发成本
    lxxiil
        35
    lxxiil  
       9 天前 via iPhone
    计算器的 aardio 或者易语言就行了,exe 大小几百 kb
    B1ankCat
        36
    B1ankCat  
       9 天前
    12tall
        37
    12tall  
       9 天前
    wxpython 有一个 wxFormBuilder 的设计器。界面比较简陋,但是功能尚可,可以通过 Nuitka 打包成二进制文件。
    jackOff
        38
    jackOff  
       8 天前
    pyside2
    iorilu
        39
    iorilu  
       8 天前
    其实 python 问题就在这里

    任何事情都有无数解决方案, 但没什么公然的所谓最佳方案, 都是相对并不怎么完美的方案
    chf007
        40
    chf007  
       8 天前
    如果只是为了收集脚本参数,可以用 pythondialog 这种

    主要在 Linux 下的话,Whiptail 这种。
    SanjinGG
        41
    SanjinGG  
       8 天前
    如果不考虑外观,让 AI 用 tkinter 写个最快的。熟悉 web 的话,直接用 web 写个,python 启动下也行,好多脚本也是这么做的。
    huangsijun17
        42
    huangsijun17  
       8 天前
    不复杂的话,可以试试看这个:

    https://github.com/iamxcd/tkinter-helper
    PanuiQ
        43
    PanuiQ  
       8 天前
    这个框架很好玩,可以直接把 python 函数直接转换成,工作流的中 node 。
    https://github.com/IndieSmiths/nodezator
    ggzhyipeng
        44
    ggzhyipeng  
       8 天前
    web 吧,随便找个 ui 框架颜值就不差了。给同事用可以直接部署到内网服务器。也可以用 webview 打包成可执行文件分发,比如 pywebview
    wzly
        45
    wzly  
       8 天前
    没人直到 flet 吗? ui 很漂亮 日本那边很多人用
    clino
        46
    clino  
       7 天前
    https://github.com/webui-dev/python-webui
    Use any web browser as GUI, with Python in the backend and HTML5 in the frontend.
    这个看起来不错,比 Electron 要轻量化很多,试了一下 python demo 感觉很简单
    iamxcd123
        47
    iamxcd123  
       7 天前
    在线画一个就行了 www.pytk.net
    samwellwang0
        48
    samwellwang0  
       7 天前
    flet ,python 编译成 flutter ,写过几个简单的小软件 还可以
    GarrickLin
        49
    GarrickLin  
       7 天前
    streamlit
    xxlsize
        50
    xxlsize  
       6 天前
    直接扔给 ai 让他基于 pyqt 生成界面,要求界面美观、用户友好,就完事
    fakEHacker
        51
    fakEHacker  
       5 天前
    pywebview 这么有?这样子的
    DINGONE
        52
    DINGONE  
       4 天前 via iPhone
    Flet
    liuhai233
        53
    liuhai233  
       3 天前
    @fakEHacker pywebview 不错的 起个 http 就行了,下面是一个例子,pyinstaller 打包二进制就能分发了
    https://github.com/awsl-project/redbook_lang/blob/main/gui.py
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1225 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:33 · PVG 07:33 · LAX 16:33 · JFK 19:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.