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

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

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


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

    NewYear
        41
    NewYear  
       2023-11-17 01:23:59 +08:00
    @icy37785 易语言看到代码界面就懵逼了……还是上 VS 吧。
    NewYear
        42
    NewYear  
       2023-11-17 01:25:20 +08:00
    Windows 平台:

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

    微软自家的方案肯定是很香的。
    HaroldFinchNYC
        43
    HaroldFinchNYC  
       2023-11-17 02:18:11 +08:00
    @GeruzoniAnsasu
    @forgottencoast

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

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

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

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

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

    正经项目就这几个里面选
    XIVN1987
        70
    XIVN1987  
       2023-11-17 10:24:48 +08:00
    tkinter 太丑了,,绝对不能用。。

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

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

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

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

    @GeruzoniAnsasu #11
    me
    严格说肯定是有拖过,初学 pyqt 时是用 designer 的
    但一个自用的 pyqt5 gui ,粗略数了一下,9 个 tab ,>200 个控件,从开始就全是手打代码
    xiangyuecn
        87
    xiangyuecn  
       2023-11-17 12:25:22 +08:00
    .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  
       2023-11-17 12:38:43 +08:00 via iPhone
    Windows 系统肯定是 C#
    youyang
        89
    youyang  
       2023-11-17 12:47:39 +08:00
    @ellermister agree no more
    l1ve
        90
    l1ve  
       2023-11-17 13:03:19 +08:00
    易语言一票
    这个是真的简单...
    freyr
        91
    freyr  
       2023-11-17 13:05:37 +08:00
    限定 Python 的话,WIndows 用 PyQt + Qt Designer 还是方便
    wzwwzw
        92
    wzwwzw  
       2023-11-17 13:24:19 +08:00
    那必然还是 electron 最快。
    XIVN1987
        93
    XIVN1987  
       2023-11-17 13:43:47 +08:00
    要是 Python 能改进下 Tkinter ,,让 Tkinter 显示界面好看点儿就好了。。
    ldyisbest
        94
    ldyisbest  
       2023-11-17 14:12:18 +08:00
    pywebview wails tauri 可以吗,直接写 html
    ShadowPower
        95
    ShadowPower  
       2023-11-17 14:29:40 +08:00
    WinForm 最快

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

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

    界面只需要拖拽改改属性就做出来了
    双击界面上的控件给它添加代码逻辑,程序就写好了
    xu455255849
        96
    xu455255849  
       2023-11-17 15:11:09 +08:00
    那必然还是 electron 最快。
    Mark24
        97
    Mark24  
       2023-11-17 15:31:56 +08:00
    简单的话:

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

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