{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

python桌面开发,为什么选择PyQt或wxPython,而不使用Tkinter?

lieepslieeps 回答4 收藏1
收藏问题

4条回答

myshell

myshell

回答于2022-06-22 19:40

最主要的原因就是Tkinter参考资料太少,只能满足基本GUI开发(界面美观程度要求不高),因此使用的人比较少,而PyQt和wxPython参考资料丰富,可以直接拖拽控件,界面设计美化容易,因此使用的人比较多,下面我简单介绍一下这2个模块的安装和使用,感兴趣的朋友可以自己尝试一下:

wxPython

这是Python一个非常不错的GUI开发库,免费、开源、跨平台,可用组件众多,借助这些组件,程序员可以快速创建完整、功能全面的用户界面,因此应用非常广泛,下面我简单介绍一下这个库:

1.首先,安装wxPython,这个直接在cmd窗口输入安装命令“pip install wxpython”就行,如下,我的Python环境已正确安装:

2.安装完成后,我们就可以直接编写代码来测试这个模块了,代码如下,非常简单,一个文本编辑器,根据路径打开文件,然后编辑再保存:

程序运行截图如下,效果还是非常不错的:

PyQt

这是一个基于Qt的Python接口包,借助于Qt强大的可视化功能,Python也可以快速开发一个功能强大、界面美观的GUI程序(可以直接拖拽控件),下面我简单介绍一下这个库:

1.首先,安装PyQt,这个也直接在cmd窗口输入命令“pip install pyqt5”就行,如下,安装的过程需要耐心等待一会儿:

2.安装完成后,我们就可以直接打开Qt自带的设计工具Qt Designer进行界面设计了,默认在site-packages->PyQt5->Qt->bin目录下,所有控件都可以直接拖拽,而且可以使用QSS进行美化,非常方便,如下:

3.设计完成后,使用pyuic5工具进行转化,就会自动生成对应Python代码,如下,不需要我们再手动去一行一行编写,调整布局:

4.最后再加一个main函数,创建上面的类对象,就可以显示我们创建的界面了,如下:

运行程序,截图如下,就是我们刚才设计的GUI界面,非常方便吧,再绑定信号和槽函数,就可以进行用户响应啦:

至此,我们就介绍完了PyQt和wxPython这2个模块的简单安装和使用。总的来说,对于界面简单、功能要求不高的GUI设计来说,Tkinter完全可以胜任,但是对于功能比较复杂、界面美化程度较高的GUI来说,PyQT和wxPython更容易,也更好实现,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

评论0 赞同0
  •  加载中...
archieyang

archieyang

回答于2022-06-22 19:40

个人经验来说,最开始使用python来做桌面开发,做界面我是拒绝的,因为用c#做桌面开发多爽,QT、C++不香吗?但是总有一些原因,需要使用python开发,最开始使用

Tkinter,再尝试Wxpython,最后还是使用pyqt(主要是QT太香了)。

Tkinter


Tk确实简单,如果做个简单的界面,用起来迅速,但是如果需要一个稍微复杂的界面tk,文档少、例子少。

Wxpython


功能强大,也有界面设计工具,我在使用的过程中,基于wxpythpon其实都已经基本做完了,但是出现了一个bug,界面偶尔会死掉,定位不到原因,我的操作也很简单,后来在github以及很多的国外网站寻找答案,貌似是wxpython自身的原因导致,解决不了,太坑了,只能推倒重来,另外wxpython无更新了也是一个原因。

Pyqt


在之前两条路走不通的情况下,pyqt就是唯一的选择了,qt那么香,pyqt一定也香。确实是,界面编辑简答,可以将

.ui

直接编译为python代码,也可以

.ui

直接来运行,界面和代码可以分开,pyqt自带的多线程、定时器真好用。pyqt的资料齐全,有完整的帮助文档,使用信号槽来传递数据,爽。

QT毕竟是流行多年的框架,跨平台使用,当然pygtk也是一个非常好的选择,我只是更为熟悉qt,所以才选择pyqt,同时pyqt也能满足我的使用。选择什么框架都可以,适合自己是最好的。

评论0 赞同0
  •  加载中...
EscapedDog

EscapedDog

回答于2022-06-22 19:40

kivy,用过一定觉得香,widget tree的组织方式让用过flutter的人觉得还蛮亲切的

评论0 赞同0
  •  加载中...
yck

yck

回答于2022-06-22 19:40

tkinter需要自己编程写页面,而且界面没美观程度不高,pyqt直接拖控件设计,比较方便。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<