最近两三周都在看GUI的编程,先是完整看了TKinter的视频教程,确实简洁,但是窗体的设计都得靠代码去编写,感觉还是不够直观,后面解除了PyQt5和PySide2,但是PyQt5已停止更新,但是2018年推出了PySide2,二者是亲戚关系,最后决定使用PySide2作为后期基于百度AI的智能应用程序的开发研究的图形化编程部分。比较好的学习网站推荐是白月黑羽大佬的技术分享网站: www.python3.vip,里面还有bilibili配套的视频教程,讲述详细,条例清晰,值得一看。
下面就我所看过后梳理的关于从设计到发布的全过程的操作方法进行分享。详细步骤如下:
(如果你懒得看文字,可以观看我的bilibili上的视频:https://www.bilibili.com/video/BV17p4y1X7uB/,是对此步骤做的一个详细演示。)
1.命令行安装pyside2和发布程序需要的pyinstaller
pyside2:
pip install pyside2 -i https://pypi.doubanio.com/simple/
或者
pin install pyside2
pyinstaller:
pip install pyinstaller -i https://pypi.doubanio.com/simple/
或者
pin install pyinstaller
2.找到designer.exe体验窗体设计并保存为ui文件
designer.exe位置为:C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\PySide2
注意:每个电脑的可能不相同,环境变量中python解释器的位置+site-packages\PySide2
我在此案例中设计了一个ui窗口,效果如下图:
3.用python程序调用ui文件呈现窗口。
from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
class AppS:
def __init__(self):
# 从文件中加载UI定义
# 从 UI 定义中动态 创建一个相应的窗口对象
# 注意:里面的控件对象也成为窗口对象的属性了
# 比如 self.ui.button , self.ui.textEdit
self.ui = QUiLoader().load('ex.ui')
app = QApplication([])
stats = AppS()
stats.ui.show()
app.exec_()
4.打包生成应用程序。
在命令行窗口,定位到需要打包发布的程序文件夹下,执行命令:
pyinstaller ***.py --noconsole --hidden-import PySide2.QtXml
5.执行成功后,在生成目录下找到dist文件夹下以py程序文件命名的文件夹下,有一个***.exe的文件即为可执行程序。
因为是外部导入的ui和图片,因此需要将对应ui文件和pic文件所在的文件夹拷贝到与.exe文件同目录下。
更多精彩文章可以去我的博客看看:blog.csdn.net/xuechen_gemgirl