V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1140601003
V2EX  ›  程序员

什么语言写 gui 脚本最快呢!

  •  2
     
  •   1140601003 · 351 天前 · 18418 次点击
    这是一个创建于 351 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近一直苦恼着给客户写脚本,客户的需求是 window 下 exe 带有图形界面,我今天用了一天时间去写了个 python 的 pyside6,就几个控件相当麻烦,而且打包 exe 的还有很多 bug ,相当麻烦。请问各位大佬,有木有什么语言可以快速写出 gui 且打包 exe 无 bug 呢!。
    119 条回复    2023-11-26 18:26:38 +08:00
    1  2  
    NessajCN
        1
    NessajCN  
       351 天前   ❤️ 1
    那必然是 electron 大法好了
    freshgoose
        2
    freshgoose  
       351 天前
    golang + js: wails
    c#: Avalonia
    seers
        3
    seers  
       351 天前 via Android   ❤️ 1
    aardio
    ellermister
        4
    ellermister  
       351 天前
    electron 巨大吧,不算应用,都一百多 M 吧?
    shinsekai
        5
    shinsekai  
       351 天前
    qt designer?
    1140601003
        6
    1140601003  
    OP
       351 天前
    @freshgoose 这个对于一些小需求太大型了吧,又不值得去写前后端交互
    kkgogo
        7
    kkgogo  
       351 天前
    aardio 大概不会让你失望
    1140601003
        8
    1140601003  
    OP
       351 天前
    @NessajCN 不太懂前端,这个打包后占用大小夸张吗?
    1140601003
        9
    1140601003  
    OP
       351 天前
    @kkgogo 谢谢了,我去研究一下这个语言!!!
    1140601003
        10
    1140601003  
    OP
       351 天前
    @seers 谢谢了,我去研究一下!!!感谢
    GeruzoniAnsasu
        11
    GeruzoniAnsasu  
       351 天前
    ?????


    还真有没拖过控件的桌面 GUI 程序员?
    GeruzoniAnsasu
        12
    GeruzoniAnsasu  
       351 天前   ❤️ 4
    你就不能下个 VS 创建个 winform 项目看一眼吗(恼
    forgottencoast
        13
    forgottencoast  
       351 天前   ❤️ 3
    最快当然是.Net 的 WinForm 了。
    kingjpa
        14
    kingjpa  
       351 天前
    你是写工具类 aardio ,包你满意。
    你要写花里胡哨那种设计感强的 electron
    cnbatch
        15
    cnbatch  
       351 天前
    单纯想要快速造 Windows 的 GUI 程序,直接无脑选择 .Net 的 winform ,控件什么的直接拖,双击控件直接写具体方法
    iomect
        16
    iomect  
       351 天前   ❤️ 1
    aardio+1
    脚本类的可以考虑 autoit3 或者 ahk 工具类的就是 aardio
    LightofHeven
        17
    LightofHeven  
       351 天前
    vb mfc winform wpf 完美 exe
    aisk
        18
    aisk  
       351 天前
    electron!
    neutrino
        19
    neutrino  
       351 天前
    试试 lazarus ,糊界面很快,free pascal 很舒服
    cnbatch
        20
    cnbatch  
       351 天前
    既然 OP 不懂前端,那就更加没必要强迫自己接触前端了,快速开发拖控件就完事
    BBCCBB
        21
    BBCCBB  
       351 天前
    .net 啊, c# 拖拖拖
    1140601003
        22
    1140601003  
    OP
       351 天前
    @kkgogo 感谢大哥,刚刚看到 28 行代码就可以把计算器功能给实现出来,妈的,比我写了半天的屎山代码 pyside6 强多了。
    1140601003
        23
    1140601003  
    OP
       351 天前
    @GeruzoniAnsasu 我不是程序员。。。单纯写给点胶水脚本交付给别人。。。
    1140601003
        24
    1140601003  
    OP
       351 天前
    @kingjpa 嗯!美不美化不重要了交付时间快,效率高就完事了。
    1140601003
        25
    1140601003  
    OP
       351 天前
    @BBCCBB 感觉有种杀鸡用牛刀啊,我还没学 c#的 qaq ,以后再学,学习成本太大了,感谢你的回答
    1140601003
        26
    1140601003  
    OP
       351 天前
    @neutrino 嗯,我去研究下。
    1140601003
        27
    1140601003  
    OP
       351 天前
    @LightofHeven 好滴,我去研究下,感谢!
    1140601003
        28
    1140601003  
    OP
       351 天前
    @cnbatch 好咧!
    1140601003
        29
    1140601003  
    OP
       351 天前
    @GeruzoniAnsasu 可以,我去研究下。感谢
    1140601003
        30
    1140601003  
    OP
       351 天前
    @aisk 好滴!感谢
    xiaoriri666
        31
    xiaoriri666  
       351 天前
    WinForm
    macaodoll
        32
    macaodoll  
       351 天前 via Android
    Java swing
    jones2000
        33
    jones2000  
       351 天前
    CEF + h5
    lsk569937453
        34
    lsk569937453  
       351 天前
    不要因为一个小的需求就多学一门语言,老老实实的用 wails 或者 electron 都可以。
    yanjieee
        35
    yanjieee  
       351 天前 via iPhone
    我提供另一种思路哈,用 pywebio 写一个 web 应用,用户连 exe 都不用,直接访问你的网站就行。
    q11391
        36
    q11391  
       351 天前 via iPhone
    vb6
    leconio
        37
    leconio  
       351 天前 via iPhone
    你会 py ,如果 ui 只是填一填数值,点一点按钮,拖动几个滑块,可以试试大数据方向的 gradio 。方便项目快速落地
    icy37785
        38
    icy37785  
       351 天前 via iPhone   ❤️ 1
    既然只需要 windows 平台,那我必须提名鄙视链底端的易语言。
    Leonard
        39
    Leonard  
       351 天前
    Tauri
    jianchang512
        40
    jianchang512  
       351 天前
    pyqt5/pyside5 配合 qt designer ,妥妥拽拽的也很方便啊

    NewYear
        41
    NewYear  
       351 天前
    @icy37785 易语言看到代码界面就懵逼了……还是上 VS 吧。
    NewYear
        42
    NewYear  
       351 天前
    Windows 平台:

    自定义程度低,Winform ,托拉拽搞定
    自定义程度高,WPF

    微软自家的方案肯定是很香的。
    HaroldFinchNYC
        43
    HaroldFinchNYC  
       351 天前
    @GeruzoniAnsasu
    @forgottencoast

    winforms 和 wpf 选哪个?
    houshuu
        44
    houshuu  
       351 天前
    go 语言推荐 fyne. 打包单文件支持全平台, 很小.
    之前给一个那种 electron 应用打开就卡的目标平台开发过, 体验很丝滑.
    1140601003
        45
    1140601003  
    OP
       351 天前
    1140601003
        46
    1140601003  
    OP
       351 天前
    @yanjieee 感谢思路!
    1140601003
        47
    1140601003  
    OP
       351 天前
    @leconio 好!!谢谢
    1140601003
        48
    1140601003  
    OP
       351 天前
    @houshuu 好咧!
    xuxu5112
        49
    xuxu5112  
       351 天前   ❤️ 1
    会 Python 且只需要很简单的 UI 可以试试 https://flet.dev/ ,flet 底层用 Flutter 实现,直接用 Python 写 ui ,好处是不用学新语言只用 Python 就可以,UI 比较现代化,可以打包成 exe 。当然我只在一个玩具项目用过,如果是正式运营的项目建议还是考虑比较成熟的框架。
    forgottencoast
        50
    forgottencoast  
       351 天前
    @HaroldFinchNYC
    小工具 WinForm
    大项目或者 UI 设计要求高(就是不用默认的 UI 或者配色之类的)的 WPF 。
    bthulu
        51
    bthulu  
       351 天前   ❤️ 1
    windows ui 首推易语言
    kekxv
        52
    kekxv  
       351 天前 via iPhone
    windows 的话,试试 hta ?
    zjsxwc
        53
    zjsxwc  
       351 天前
    StubbornHuang
        54
    StubbornHuang  
       351 天前
    duilib
    crackidz
        55
    crackidz  
       351 天前
    画界面需求很简单的话,WinForm 拖拖拽拽很简单
    knightdf
        56
    knightdf  
       351 天前
    c#,而且 py+qt 也很快
    SirYuxuan
        57
    SirYuxuan  
       351 天前
    易语言
    CodeXx
        58
    CodeXx  
       351 天前
    易语言完美符合
    hevi
        59
    hevi  
       351 天前   ❤️ 1
    啊???就我用 tkinter 吗
    loading
        60
    loading  
       351 天前
    aardio
    yjd
        61
    yjd  
       351 天前
    aardio 我记得是不支持动态调试的。
    xieren58
        62
    xieren58  
       351 天前
    最近用 Avalonia 完成了一个项目, 还不错... 熟悉了, 开发起来非常快...
    bbxiong
        63
    bbxiong  
       351 天前
    tool2d
        64
    tool2d  
       351 天前
    以前用 IDE 的配套 UI 编辑器。

    现在觉得 JSX 很快,又能跨平台,不同平台编译出不同代码,习惯了开发也快。
    maybedk
        65
    maybedk  
       351 天前
    python 的话 tkinter 解决不了吗?简单的界面可以胜任,而且因为是内置包,打包问题少。
    flmn
        66
    flmn  
       351 天前
    选择需要考虑你的技术背景,开发的应用类型。

    从你描述,你应该熟悉 Python ,那我觉得 PySide 绝对是一个好选择。

    如果你开发的应用要求漂亮,交互体验好,你也愿意学 TypeScript ,那么 Electron 大法好。

    如果你有 C#基础,那么 WinForm 不会吃亏。
    simo
        67
    simo  
       351 天前
    找自己熟悉的,就是最快,基本上做几个项目,手里有一套基础代码,都挺快的。
    但是从头开始,坑太多,得一个个的自己填,哪个也不省心。
    上面说的仅仅仅仅是快速
    还无 bug 的,见少识窄,真真没见过
    IamUNICODE
        68
    IamUNICODE  
       351 天前
    qt-py
    当时只花了两天就搭出个玩意来
    sadfQED2
        69
    sadfQED2  
       351 天前 via Android
    wpf
    winform
    qt
    electron

    正经项目就这几个里面选
    XIVN1987
        70
    XIVN1987  
       351 天前
    tkinter 太丑了,,绝对不能用。。

    如果从零开始的话,,那显然 PySide6 最好,,界面美观、有 UI 设计工具、Qt 官方开发维护,,不过打包后软件比较大

    然后就是 wxPython ,,打包体积更小、软件界面更像本地应用。。
    hervey0424
        71
    hervey0424  
       351 天前
    winform 是最快的
    dayeye2006199
        72
    dayeye2006199  
       351 天前 via iPhone
    Web 的话是 python 加 streamlit
    realJamespond
        73
    realJamespond  
       351 天前
    go+native window, 最小实现
    realJamespond
        74
    realJamespond  
       351 天前
    winform 还要搞 vs ,你下载安装折腾完 这边 native window 几行代码就搞起了
    laqow
        75
    laqow  
       351 天前
    想念 ActionScript3
    c2const
        76
    c2const  
       351 天前
    1.windows 平台界面,小项目+要最快出活,必定是 C#的 winform 框架 :)
    ------------------------------------
    2.不过还是得考虑熟练度问题,所以尽量选你熟悉的语言和框架,小项目出活也不慢 :)
    vialon17
        77
    vialon17  
       351 天前
    最近还在纠结 pyside6 webviewer cors 跨域问题,
    QWebEngineUrlScheme 、webpage.setting.cors_enabled 、QWebSocketServer
    真的要给妳转迷了,感觉 qt 框架学习起来挺心累的,
    特别官方 doc 还没有说明实例,一会就晕了。
    keethebest
        78
    keethebest  
       351 天前
    推荐 wails ,简单方便,容易上手
    Chad0000
        79
    Chad0000  
       351 天前
    @HaroldFinchNYC #43

    Winforms 上手极快,不太会写代码也可以。但界面想做漂亮就麻烦。
    WPF:上手会慢些因为要学 XAML 和 MVVM ,但描述性 UI 和 Winform 是完全不一样的体验,桌面软件做多了还是更喜欢 WPF 。
    wildman9527
        80
    wildman9527  
       351 天前   ❤️ 1
    这个帖子好,mark 了先 。。
    ConfusedBiscuit
        81
    ConfusedBiscuit  
       351 天前
    怎么感觉有点儿跑偏了,OP 看起来
    1. 熟悉 Python
    2. 就几个控件,不需要做复杂界面
    3. 希望打包成 exe

    那妥妥的 Python 内置的 tkinter 啊,折腾啥 Qt (虽然我曾经经常用 Qt ),折腾啥 electron
    fox0001
        82
    fox0001  
       351 天前
    肯定是你最属性的语言
    fox0001
        83
    fox0001  
       351 天前
    @fox0001 #82 改为:肯定是你最熟悉的语言
    gowas
        84
    gowas  
       351 天前
    QQ 都 electron 了 还嫌大吗?
    andyhuzhill
        85
    andyhuzhill  
       351 天前
    lazarus
    NoOneNoBody
        86
    NoOneNoBody  
       351 天前
    powershell + winform 无需打包,除非为了闭源

    @GeruzoniAnsasu #11
    me
    严格说肯定是有拖过,初学 pyqt 时是用 designer 的
    但一个自用的 pyqt5 gui ,粗略数了一下,9 个 tab ,>200 个控件,从开始就全是手打代码
    xiangyuecn
        87
    xiangyuecn  
       351 天前
    .NET Framework 4.5 + C#,winform 拖两控件。低版本的.NET Framework 都不用安装,windows 自带高版本。

    高级一点的,可以不安装 Visual Studio ,只需要.NET Framework ,自己用脚本编译源码成 exe ,纯文本编辑器就能开发。

    -----

    Electron 最实在,完全不需要编辑器,完全不需要 npm 、nodejs 、node_modules ,纯文本编写 js 代码就能跑,连编译都省了;只需你编写的 js 文件 +下载的 Electron 官方可执行文件,完事。
    mmdsun
        88
    mmdsun  
       351 天前 via iPhone
    Windows 系统肯定是 C#
    youyang
        89
    youyang  
       351 天前
    @ellermister agree no more
    l1ve
        90
    l1ve  
       351 天前
    易语言一票
    这个是真的简单...
    freyr
        91
    freyr  
       351 天前
    限定 Python 的话,WIndows 用 PyQt + Qt Designer 还是方便
    wzwwzw
        92
    wzwwzw  
       351 天前
    那必然还是 electron 最快。
    XIVN1987
        93
    XIVN1987  
       351 天前
    要是 Python 能改进下 Tkinter ,,让 Tkinter 显示界面好看点儿就好了。。
    ldyisbest
        94
    ldyisbest  
       351 天前
    pywebview wails tauri 可以吗,直接写 html
    ShadowPower
        95
    ShadowPower  
       351 天前
    WinForm 最快

    无需折腾,开发环境只需要装 VS ,选上.net 桌面开发,就好了

    文档齐全,资料丰富,技术成熟
    整个开发、调试工作都只需要在 VS 里完成,调试器还特别强大
    打包 exe 毫无难度,一键生成

    界面只需要拖拽改改属性就做出来了
    双击界面上的控件给它添加代码逻辑,程序就写好了
    xu455255849
        96
    xu455255849  
       351 天前
    那必然还是 electron 最快。
    Mark24
        97
    Mark24  
       351 天前
    简单的话:

    https://github.com/AndyObtiva/glimmer-dsl-libui

    Ruby + LibUI+ glimmer DSL
    test0x01
        98
    test0x01  
       351 天前 via Android
    外包
    tangtang369
        99
    tangtang369  
       351 天前
    qt designer 我觉得是最快的 拖下样子 对按钮事件就行了
    jevonszmx
        100
    jevonszmx  
       351 天前
    electron ,别因为现在需求简单就找个不熟悉的随便拖拖,后期肯定需求会变多,到时还要重构,搞死人
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2457 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:37 · PVG 18:37 · LAX 03:37 · JFK 06:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.