
python Pyside2模块详细介绍
图形界面文章目录图形界面一、基础篇1、Python图形界面开发的几种方案2、PySide2、PyQt5 简介3、安装 PySide24、安装PyQt55、配置Pycharm1)自定义 QtDesigner2)自定义 Pyside2-uic3)使用自定义工具编写Qt页面6、编写qt程序7.发布程序一、基础篇1、Python图形界面开发的几种方案如果用 Python 语言开发 跨平台 的图形界面的程序
·
文章目录
一、基础篇
1、Python图形界面开发的几种方案
如果用 Python
语言开发 跨平台
的图形界面的程序,主要有3种选择:
-
Tkinter
基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。
-
wxPython
基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。
-
PySide2、PyQt5
基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。
缺点是 库比较大,发布出来的程序比较大。
如果大家要开发小工具,界面比较简单,可以采用Tkinter。
如果是发布功能比较多的正式产品,采用 基于Qt的PySide2、PyQt5。
本教程介绍的就是 使用 PySide2、PyQt5 开发Python程序的图形界面。
2、PySide2、PyQt5 简介
PySide2、PyQt5 都是基于著名的 Qt 库。
Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。
但是 PySide2、PyQt5 这两者有什么区别呢?
可以形象地这样说: PySide2 是Qt的 `亲儿子` , PyQt5 是Qt还没有亲儿子之前的收的 `义子` (Riverbank Computing这个公司开发的)。
那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?
原因很简单:PySide2 这亲儿子最近(2018年7月)才出生。
但是亲儿子毕竟是亲儿子,Qt准备大力培养,PySide2 或许更有前途。
已经在使用 PyQt5 的朋友不要皱眉, 两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。
如果你的程序是PyQt5开发的,通常只要略作修改,比如把导入的名字从 PyQt5 换成 PySide2 就行了。反之亦然。
3、安装 PySide2
简易版本
pip install pyside2
更换国内安装源版本
pip install pyside2 -i https://pypi.tuna.tsinghua.edu.cn/simple
备注:
1)查看安装结果
pip freeze
2)确定安装位置(重复安装以获取安装位置,一般为Python安装目录下)
pip install Pyside2
4、安装PyQt5
简易版本
pip install pyqt5-tools
可同时安装 PyQt5 和 一些重要的工具,比如 Qt designer
5、配置Pycharm
目的:在PyCharm中自定义两个工具以便开发时使用
步骤:File->Settings->Tools->External Tools
点击 + 新增自定义工具
1)自定义 QtDesigner
目的:用于生成.ui文件
Name :QtDesigner
Group :Qt
Program :PySide2安装路径下的 designer.exe 路径
例如:C:\Python\Python39\Scripts\pyside2-designer.exe
Working directory :$ProjectFileDir$
2)自定义 Pyside2-uic
目的:将制作好的.ui文件转化为.py文件
Name :Pyside2-uic
Group :Qt
Program :Python安装目录下Scripts\pyside2-uic.exe
例如:C:\Python\Python39\Scripts\pyside2-uic.exe
Arguments :$FileName$ -o $FileNameWithoutExtension$.py
Working directory :$FileDir$
3)使用自定义工具编写Qt页面
1、点击Tools->Qt->QtDesigner进入ui设计界面
2、完成ui设计后将.ui文件保存在当前项目路径下
3、右击保存的.ui文件,使用自定义的Pyside2-uic工具将界面转化为Python文件
6、编写qt程序
1、在pycharm中点击Tools->Qt->QtDesigner进入ui设计界面
2、选择Main Window后点击创建
3、将左侧的Widget Box中的Push Button和Text Browser相继拖入到中间的Main Window中
4、在右侧的对象查看器中右击Main Window选择布局下的垂直布局
5、按住ctrl+s保存ui文件,文件名为demo_ui.ui
6、在pycharm中右击生成的demo_ui.ui文件,选择Qt->Pyside2-uic
7、在生成的demo_ui.py同级目录下new->python file,文件名为demo.py
8、demo.py编写如下代码,并run即可得到qt程序,在程序中点击按钮便在文本浏览器显示Hello world
demo.py
from PySide2.QtWidgets import QApplication, QMainWindow
from demo_ui import Ui_MainWindow
import sys
class MainWindow(QMainWindow):
def __init__(self):
# 首先找到 MainWindow 的父类(就是类 QMainWindow),然后把类 MainWindow 的对象转换为类 QMainWindow 的对象,然后调用对象的__init__()方法
# super(MainWindow, self).__init__() # python2写法
super().__init__() # python3写法
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# 按钮signal绑定slot函数
self.ui.pushButton.clicked.connect(self.handle)
def handle(self):
self.ui.textBrowser.append('Hello world')
if __name__ == '__main__':
app = QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec_())
7.发布程序
1、在cmd下执行
pip install pyinstaller
2、在cmd下进入demo.py所在目录,执行
pyinstaller demo.py demo_ui.py --noconsole --hidden-import PySide2.QtXml
注释:
--noconsole 指定不要命令行窗口,否则我们的程序运行的时候,还会多一个黑窗口。 但是我建议大家可以先去掉这个参数,等确定运行成功后,再加上参数重新制作exe。因为这个黑窗口可以显示出程序的报错,这样我们容易找到问题的线索。
--hidden-import PySide2.QtXml 参数是因为这个 QtXml库是动态导入,PyInstaller没法分析出来,需要我们告诉它
3、这样就会在demo.py目录下产生一个名为dist的目录。里面就有一个名为demo的目录,我们的可执行程序 demo.exe 就在里面
在windows下第2步中的cmd命令,我们可以使用编写package.bat
文件方式执行
package.bat
@echo off
pyinstaller demo.py demo_ui.py --noconsole --hidden-import PySide2.QtXml
pause
更多推荐
所有评论(0)