最近折腾pyside2,写了一个简单的串口上位机,遇到了一些奇怪的问题,记录一下。
环境搭建
python环境我习惯了用anaconda来进行管理,安装各种包都很方便,也不用担心包的版本和python版本不匹配。不过anaconda体积庞大,也可以使用miniconda
,使用conda
命令来管理python环境。
pyside2和pyqt5一样基于qt5,搭配python3.8还能支持win7,所以我选择了安装python3.8和pyside2,再加上上位机需要打包,所以还需要安装pyinstaller
。
anaconda使用十分简单,都是图形化操作,网上教程很多,选择需要的python版本建立环境,再安装需要的python包就可以。
这里整理一下使用miniconda
的常用命令。
使用miniconda
建议使用安装后菜单里的Anaconda Powershell Prompt
或者Anaconda Prompt
,安装conda后会自动配置这两个终端的环境,其他终端可能需要自己配置,这里就不提了。
- 创建环境(
myenv
为创建的环境名称)
conda create --name myenv
- 创建指定python版本的环境,如需要3.7.9
conda create --name myenv python=3.7.9
- 删除环境
conda env remove --name myenv
- 切换到conda环境
conda activate myenv
- 查询环境的python版本号
python --version
- 退出当前conda环境
conda deactivate
- 查询电脑中现存的conda环境
conda info --envs
- 添加渠道(如conda-forge)
conda config --env --add channels conda-forge
- 查看当前环境配置的渠道
conda config --show channels
- 删除渠道
conda config --remove channels channel-name
- 安装
python
包(需要使用conda activate
切换到需要的环境再安装,下面的命令是安装pyside2
)
conda install pyside2
- 卸载python包
conda remove package-name
如果想要安装的包不在conda
默认channels
或者conda-forge
,可能需要使用pip
安装,或者到官方网站[:: Anaconda.org](https://anaconda.org/)
搜索需要的包在哪个channels,添加channels后再进行安装。
- 更新环境
conda update conda #更新自身
conda update --all #更新所有包
IDE选择
VScode
简单谢谢可以直接用vscode
,安装python插件,PySide2-VSC
插件,就可以简单的写qt界面了。
对
PySide2-VSC
插件进行配置设置designer路径(不带引号),designer在
anaconda3
的安装路径下,可以参照我的路径"XXXX\anaconda3\envs\gui\Scripts\pyside2-designer.exe"
设置uic路径(不带引号)
"XXXX\anaconda3\envs\gui\Scripts\pyside2-uic.exe"
正常来说设置完这两项就够用了,接下来就可以在
vscode
的资源管理器中右键,点击PySide2: New Form in Designer/Creator
打开QtDesigner
设计你的ui
,保存后在xxx.ui
文件上点右键,点击PySide2: Compile Form to Python
即可生成界面的python
代码。注意,有时会有使用
pyside2-uic
转换后文件内为C++
代码的情况,此时可以在插件设置中配置uic
命令-g python
这样再生成就是python
代码了。
pycharm
如果习惯了pycharm
或者pycharm community
,也可以配置pycharm
。
创建项目后右下角点击进入解释器设置,点击Python
解释器,显示全部,即可管理pycharm
中的解释器。如果没有conda
创建的python环境,可以点击左上角+号,选择Conda
环境,选择Conda
可执行文件,例如XXXX\Anaconda3\condabin\conda.bat
,然后加载环境,选择使用现有环境,就可以选择conda
创建的python环境了。
配置pycharm
外部工具
在设置中打开外部工具配置界面,添加一项designer
,参数如下
程序:XXXX\anaconda3\envs\gui\Scripts\pyside2-designer.exe
工作目录:$FileDir$
添加一项uic
,参数如下
程序:XXXX\anaconda3\envs\gui\Scripts\pyside2-uic.exe
实参:$FileName$ -o $FileNameWithoutExtension$_ui.py
工作目录:$FileDir$
如果生成代码为C++,将实参改为:-g python $FileName$ -o $FileNameWithoutExtension$_ui.py
设置好外部工具,就可以像vscode
一样通过右键打开designer
或者将ui
文件转换成py
文件。