推荐学习书目
› 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 · Jun 8, 2025 · 10987 views
    This topic created in 515 days ago, the information mentioned may be changed or developed.
    想把之前写好的脚本工具转换成 GUI 的形式,让不了解怎么改脚本中的各种配置的人用得时候更方便一些
    54 replies  •  2025-07-06 17:14:55 +08:00
    loading
    loading
    Jun 8, 2025
    1
    如果是我,我会使用 web 页面,写成配置后生成配置文件的方式。

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

    当然,看你技能树了。

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

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

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

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

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

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

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

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

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

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

    https://github.com/iamxcd/tkinter-helper
    PanuiQ
    PanuiQ
    Jun 9, 2025
    43
    这个框架很好玩,可以直接把 python 函数直接转换成,工作流的中 node 。
    https://github.com/IndieSmiths/nodezator
    ggzhyipeng
    ggzhyipeng
    Jun 9, 2025
    44
    web 吧,随便找个 ui 框架颜值就不差了。给同事用可以直接部署到内网服务器。也可以用 webview 打包成可执行文件分发,比如 pywebview
    wzly
    wzly
    Jun 9, 2025
    45
    没人直到 flet 吗? ui 很漂亮 日本那边很多人用
    clino
    clino
    Jun 10, 2025
    46
    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
    iamxcd123
    Jun 10, 2025
    47
    在线画一个就行了 www.pytk.net
    samwellwang0
    samwellwang0
    Jun 10, 2025
    48
    flet ,python 编译成 flutter ,写过几个简单的小软件 还可以
    GarrickLin
    GarrickLin
    Jun 10, 2025
    49
    streamlit
    xxlsize
    xxlsize
    Jun 11, 2025
    50
    直接扔给 ai 让他基于 pyqt 生成界面,要求界面美观、用户友好,就完事
    fakEHacker
    fakEHacker
    Jun 12, 2025
    51
    pywebview 这么有?这样子的
    DINGONE
    DINGONE
    Jun 13, 2025 via iPhone
    52
    Flet
    awsl2333
    awsl2333
    Jun 14, 2025
    53
    @fakEHacker pywebview 不错的 起个 http 就行了,下面是一个例子,pyinstaller 打包二进制就能分发了
    https://github.com/awsl-project/redbook_lang/blob/main/gui.py
    xinghaoli024
    xinghaoli024
    Jul 6, 2025
    54
    尝试使用 typescript 和前端配合做一个可视化页面。通过配置 typescript 的语法,就可以实时的渲染出来想要的东西
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5542 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 185ms · UTC 03:14 · PVG 11:14 · LAX 19:14 · JFK 22:14
    ♥ Do have faith in what you're doing.