Python 时至今日tkinter, pyqt, wxpython 那个 GUI 才更好,更完善,新手如何选择?

默默无闻 · August 20, 2020 · Last by 花落去 replied at August 25, 2020 · 7893 hits

大部分人,从想学 GUI 图形程序时,可能都是先接触到 tkinter 这个 python 自带的程序,当然我也是,我个人断断续续接触了 tkinter 也才几个月把,自己写了几个小工具,在我每次遇到问题寻找答案时,总是有一些帖子说,啥啥啥已经过时了,建议选择这个,tkinter 这个 GUI 真的不适合用与 GUI 程序的开发了吗,最近也是有点困惑,想听各位的意见,好好的学习一个 GUI 模块

共收到 16 条回复 时间 点赞

GUI 的学习,就像画画,首先有一个轮廓 然后进行 拼接;举个例子;比如 你的 PC 设计是 1920*1080 这个是一个大框;然后进行分割;针对分割 的模版进行 功能的预设;可以简单的 写个函数 然后 pass; 然后 。。。。拼接成; GUI ,可以可以参考一下 kivy, pC android ios 貌似都可以做的; 当然了实际一点的 ,你可以可以 按步骤 下载一个网页,吵的联系一下,这样你在开 GUI ;就不一样了

有听人提过 kivy,我会去了解下,谢谢

应该是 Python 开发 GUI 已经过时了,严重点说 WEB 开发用 Python 也过时了。说的有点绝对,但是事实就是这两块的开发已经脱离大部队了。

个人感觉,过时的是用语言自带 GUI 框架这种形式。

目前比较流行是用 h5 ,一次开发覆盖全平台(手机客户端、电脑客户端、各种浏览器)。

那目前行业上的测试开发,是用什么来开发程序,和 web,H5 呢

默默无闻 回复

GUI 这类程序我不清楚。
WEB 和 H5 的话 JS 已经一骑绝尘了,flask 和 Django 应对普通的开发还不错,但是便捷性,上手速度都远远比不上 JS。

pyqt5 吧,自己做些小工具玩玩儿

能把需求搞出来,事情做好。怎么会过时呢。就好比是汽车一样,一辆旧的也能上高速的

陈恒捷 回复

django 呢,也是用 python 做的

默默无闻 回复

这个也还是挺流行的,好处是通过 orm 直接一个 model 层搞定数据库和后台管理系统,模式也比较简单易上手。目前测试平台比较流行的技术栈应该是 vue 前端 +spring boot 后端。

其实不用那么纠结,选一个持续去使用就好。不同的框架各有各的好处,做深了都很强大,而且对于大部分需求都能满足。不同的框架,背后思想其实也会有共通性,其中一个掌握透彻了,转其他的也不会太难。大部分框架流行的原因,主要是上手成本相对低同时通用性比较强,但不用花那么多时间在选型上,选个不至于太偏门,太难上手的就好。

陈恒捷 回复

好的,谢谢👍

Pyqt5 啊,做些测试脚本,写起来很快的, js 后面可以慢慢学

给你看下我当初选择,开发一个桌面测试工具的思路。。。

1、当前通用方案
electorn:基于 node-js,跨平台,开发成本低,运行效率低
qt:基于 C++,跨平台,效率高,开发成本高
javafx: 基于 java,主要用于跨平台桌面程序开发
flutter: 基于 dart 语言,谷歌开源移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面

参考:https://www.zhihu.com/question/264999651

2、Python 方案
PyQT:PyQt5 是 Qt v5 的 Python 版本,功能强大复杂,提供 QT Designer 设计 UI(GPL V3 协议,开源,商用收费)
Pyside: PySide2 是来自 QT for Python 项目的官方 Python 模块(LGPL 协议,闭源商用)
Tkinter:Python 标准库,Tk GUI 工具包的接口 ,布局通过代码实现,简单易用,但开发效率低
WxPython:开源免费,提供 wxFormbuilder,压缩版 PyQT

3、最终方案
PyQT

个人用过 pyqt5,方便好用,有图形化编辑的插件,还可以用插件直接转化代码,你可以看一看,反正我对工具的选择是有以下几点:1、易于上手 2、生态好,出了问题好解决。我们最终的目的是毕竟还是为了解决问题,
以下附一个我认为比较好的学习资源:
https://www.xdbcb8.com/pyqt5/

灰阳 回复

三克油

建议 pyqt,还可以夸平台,积累经验说不定有其他机会

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up