Python Gui框架简介
Thinter
Python语言本向内置的Gui框架是Thinter。官网介绍如下:
Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
上手容易,适合于简单的交互逻辑,但不适合大型的、交互复杂的程序。
wxPython
wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。
wxPython也可以实现较复杂的界面,但国内使用的人较少。
pyQt5
本文的主角,qt的python版本,anaconda发行版本已经内置,如果使用anaconda环境,pyqt5是开箱即用的。
Pyqt5开始Gui程序
网上有一些教程,建议使用pyqt的designer先排布控件,生成ui文件,然后通过相应的工具转换为python代码。
这样模式其实不灵活,后期修改和维护很麻烦,本文中使用完全手工的方式,排布控件,以及实现相应的交互逻辑。当然不能指望designer能够达到visual studio里C# winform这种易用性,C# win form应该是地表最强的Gui程序开发环境了,但没办法,C#有微软体系有其局限性,其不适合数据处理和人工智能程序的开发。
Pyqt5所有的控件都在QtWidgets这个命名空间下,直接导入即可以使用。
实现一个简单的例子:量化投资系统的主界面为例:
窗体外框及标题,icon就设置好了,很简单吧。
程序运行方式代码如下,初始化一个QApplication,然后初始化主窗口并显示即可以呈现窗体。
主窗口的菜单项与工具栏的实现也很简单:
关于作者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏爱python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。AI量化开源项目:
https://github.com/ailabx/ailabx
领取专属 10元无门槛券
私享最新 技术干货