tkinter、wxPython、PyQt,这是3种最常见的Python GUI库,其中tkinter是系统内建库,另外两个需要单独安装。
我从代码打包文件的大小,对比一下tkinter、wxPython、PyQt这3个GUI开发工具的区别。平台Python 3.6 64 bit ,打包工具pyinstaller 3.4 :
安装依赖库
pip install wxpython==4.0.0
pip install pyqt5==5.12
pip install pyinstaller
空界面代码
gui_tk.py
import tkinter as tk
tk.Tk().mainloop()
gui_wx.py
import wx
app = wx.App()
wx.Frame(None).Show()
app.MainLoop()
gui_qt.py
这是网上参考的代码,不知道是不是最简的,如有更简单的打包方式可以留言。
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()
w.show()
sys.exit(app.exec_())
程序打包
使用pyinstaller 进行打包,其中-Fw 参数表示打包单一文件不显示控制台模式:
pyinstaller -Fw gui_tk.py
pyinstaller -Fw gui_wx.py
pyinstaller -Fw gui_qt.py
打包大小
tkinter、wxPython、PyQt ,3种GUI库打包基础界面文件大小对比:
GUI库 | 文件 | 大小 |
---|
tkinter | gui_tk.exe | 8.6MB | wxPython | gui_wx.exe | 11.2MB | PyQt5 | gui_qt.exe | 33.2MB |
仅供参考,可按需要选取工具。
附:wxPython官方文档
另外有人说PyQt文档多,但实际上wxPython官方就提供有非常完整的例程和文档,并且可以离线使用:
https://extras.wxpython.org/wxPython4/extras
其中的wxPython-demo-xxx.tar.gz 和wxPython-docs-xxx.tar.gz 便是演示例子和文档。
其中例程打开是这个样子的: 这个演示例子本身也是用wxPython编写的,这种界面复杂程度符合你的使用需求吗?PyQt也许也可以达到,只不过打包文件会大很多。如果想用tkinter。。还是放弃吧。
|