Python GUI开发小记 2018-07-18 09:52:54 Steven Xeldax #### 写在开头 > 拿python写GUI不是最优的选择,真正要上项目还是选择常规的框架比较好。 ## Python GUI 开发 Python 提供了多个图形开发界面的库,如果一个个都举例太多,下面介绍几个供给我选择的几个GUI框架: ### Tkinter 最原始的框架,python内自带,据说兼容性是很好的,也是我最先入门的框架,但是由于这个框架功能比较简陋,所以很多事情做不了。 ### wxPython wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。基本上第二个学习的框架就是这个,感觉是完全可以替代Tkinter的一个解决方案。 ### pyGTK PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功能。它最大的特色就是Gnome支持做的很好,但是个人在windows上不是很喜欢用这款框架,而且中文资料不是很多(相对其他框架而言)。 ### PyQT 最后我个人还是较为偏向使用PyQT的(后来不觉得),作为一套Python模块实现的,他已经超过620个类和6000个函数与方法。他是一个运行在所有主流操作系统上的多平台组件,包括Unix,Windows和Mac OS。这框架的特色在于QT成熟的开发方案和流程以及流行度很高,自然资料也相对很多。 但是python下开发QT会有很多麻烦和坑爹的事情,下面主要说下在windows下使用python2.7对PyQT5开发的感受。 ## PyQT5的搭建 百度上搜,方法很多,也很简单,但坑还是很多。 ``` pip install python-qt5 => python2 pip3 install pyqt5 => python3 ``` ## exe打包程序 用python开发的程序一般都是py脚本文件,每次运行都不是很方便,所以要使用exe打包py脚本,主要的库有py2exe和pyinstaller。 py2exe对python2.7似乎不支持,只有python3版本才能使用。pyinstaller对python2和python3都支持,但是不支持最新的pyhton3.7版本。 * pyinstaller安装 ``` python -m pip install pyinstaller ``` * pyinstaller使用 无cmd窗口 ``` pyinstaller -F -w main.py ``` 有cmd窗口 ``` pyinstaller -F main.py ``` ## PyQT5+Pycharm环境搭建 1. pycharm安装和配置 2. 配置external tools Ctrl+alt+s打开配置,然后在Tools/External Tools下插入Qt design 和 PyUIC。 QT design和PyUIC都在python安装目录下\Lib\site-packages\PyQt5有。 PYUIC: ``` -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py ``` ## PyQT HelloWorld ``` import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.move(300, 300) w.setWindowTitle('Simple') w.show() sys.exit(app.exec_()) ```