现在 Python 开发 GUI 用什么框架? 因项目需要使用 GUI

2022-06-23 16:33:49 +08:00
 hhhhhh123

如题, 想知道现在 GUI 开发用什么框架? 框架的有点和缺点 。 也可以留个名字, 我自己查。 最好是流行的。。很多公司都用的。, 这样对自己也好。嘿嘿。 谢谢啦!

8612 次点击
所在节点    Python
48 条回复
Mark24
2022-06-23 18:29:38 +08:00
QT 要收费
txfly
2022-06-23 19:06:15 +08:00
pyside6 ,pygobject ,kivy
FrankHB
2022-06-23 19:28:36 +08:00
@westoy 一时间不可能没人写。
至少 TortoiseHg 还有活人维护。
另外我就因为一时半会儿撸不出一个 Qt 而被迫得抄 Shiboken……(虽然这严格上不算用 Python 写,但是至少得抄点 demo )。
nyxsonsleep
2022-06-23 20:36:01 +08:00
用过 python 的一些 gui 。
我的看法是前后端分离,前端用 web 实现。
pyqt 有很多 bug ,有一定中文资料,但是有的小问题还是搜不到答案,非常不好用,非常不建议用于长期维护。
pysider 的中文资料很少,偶尔会和 pyqt 冲突。
pyqt 商用收费,印象中上万吧? pysider 似乎不收费?
个人娱乐用 tinker 之类的倒是无所谓。
nyxsonsleep
2022-06-23 20:43:57 +08:00
@dcsuibian 小型应用快速部署,没有大规模并发,这就到不了 python 服务器端的瓶颈,何谈 Python 地位尴尬。
反过来理解,难道用 pyqt 实现桌面端,python 就突然失去了之前存在的问题?
SenLief
2022-06-23 20:46:41 +08:00
python 打包后体积都比较大,直接起个 web 好了,这玩意当 gui 多好。
anmu
2022-06-23 20:47:55 +08:00
PyQt
hallDrawnel
2022-06-23 21:08:27 +08:00
直接用网页画,pyqt 也不好用。
dcsuibian
2022-06-23 21:55:31 +08:00
@nyxsonsleep 不是那个意思。

我之前想 Java 配合 Electron 做客户端程序。一个做核心、一个做界面,后来发现比较鸡肋。
1 、如果是离线应用,比如 picgo ,核心部分直接用 nodejs 写算了。js 调 js 方便太多了,而且打包也好打。(尽管我对 Java 更熟悉,但用 js 利大于弊)
2 、如果是在线应用,需要调后台接口,那基本就是做 web 了,这个是没问题。但客户端的必要性就很大程度上削弱了。

当然,应用场景还是有的。比如 B 站的客户端(从 web 转过来的)、Telegram 的客户端、ClashX (核心是别人 Go 开发的)这样的。Python 的话,如果是后台深度学习,做个 GUI 程序方便人家调公司的接口倒也没问题。

主要就是 js 会削弱原语言的不可替代性。万一整半天换语言了就比较尴尬😓
SMGdcAt4kPPQ
2022-06-23 22:07:11 +08:00
@dcsuibian 可以看看 Blazor
FrankHB
2022-06-23 22:14:38 +08:00
@nyxsonsleep 关键不是 py ,而是开发桌面应用就算不用 py ,会遇到纯 qt 的问题;不用 qt ,基本上会有比 qt 本身更糟糕的问题(特别是规模稍微一大的时候),横竖都得忍。
用 py+qt 会有 py 的问题+qt 的问题,但对许多用户看起来会比直接用 qt 的问题少。而现在用其它+qt 是没那么可行的。
当然,移植现成品另说(但能在桌面上移植的东西里不少已经是 qt 的形状了)。

@SenLief 一不小心直接卡翔就有的哭了,打包就忍忍吧。
简单到一定地步是没那么夸张,但这样打包大就更心烦了。
nyxsonsleep
2022-06-23 22:49:31 +08:00
@dcsuibian
换语言这种只要不是个傻子项目经理就不会同意的,qq 微信写成这个样我也没看他们换语言。
至于后端程序用什么语言取决于需求,能达到同样的目的,用什么语言都一样。
MinQ
2022-06-23 22:56:29 +08:00
pyqt 你会遇到 python 和 qt 各自糟心的地方叠加在一起,我们是用 python 写了底层,然后用 C#写了界面,中间用 pythonnet 调用
roundgis
2022-06-23 23:05:30 +08:00
@MinQ 打包發佈會不會很麻煩?
youthfire
2022-06-23 23:07:38 +08:00
直接用的 tkinter ,不过似乎 pyqt 更流行,可能是布局方便些
MinQ
2022-06-24 08:03:27 +08:00
@roundgis python 会用 conda-pack 打成一个压缩包。C#侧打包的时候会下载这个压缩包然后解压,再打包,我们用 CI 脚本自动处理这些事所以感觉也没有多麻烦
Deteriorator
2022-06-24 09:16:27 +08:00
公司就用 pyside 吧,pyqt 需要商业授权
solopython
2022-06-24 09:51:42 +08:00
roundgis
2022-06-24 10:08:59 +08:00
@MinQ conda-pack 是不是只能用於 anaconda 發行的 python 版本?
qrobot
2022-06-24 10:16:56 +08:00
@BingoXuan #17 那为什么不用 Electron , 这样还可以解决不同浏览器的兼容性问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/861692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX