pyqt5优秀项⽬python_基于Pyqt5打造量化系统GUI
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量化开源项⽬: