选用《Python Qt GUI与数据可视化编程》进行学习,此书源码与彩图
先整理一下B站视频教程——PyQt5教程评论区的资源:
-
-
这个教程主要是PyQt5快速开发与实战
-
pyuic配置:
program: python解释器
arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
working directory: $ProjectFileDir$ -
对于anaconda的同学说是有个坑:如果是使用anaconda的同学,如果用pycharm .UI 转 .py文件时提示没有module,可以尝试用pip在base环境安装PyQt包(不要用conda命令,用pip)然后再试;
我发现 其实anaconda里面是有pyqt的,但是由于环境变量那里没加上导致不行,需要把anaconda的anaconda3,anaconda3\Scripts,anaconda3\Library\bin加到系统环境变量就ok了 -
请问设置了环境变量pyuic5依然会被提示不是内部或外部命令…怎么解决啊
Qt designer是拖拉控件实现UI界面的工具,设计完成保存后是 . ui 文件,pyuic5可以将 . ui 文件转换成 . py 文件,而 uic 可以将 . ui 文件转换成 . h 头文件
我的也是这样,后来百度说是anaconda中script里的pyuic5,我试了一下可以。也不知道是什么情况。 -
在conda base环境下我使用pyuic报错 缺少python3.dll,按网上的方法尝试无果,然后再虚拟环境下重新安装pyqt5和tools
如果是在虚拟环境下配置pyqt可以参考以下几个链接:
1、清华镜像下载和安装:https://www.cnblogs.com/shelly-blog/p/13615580.html
2、配置external tools:https://blog.csdn.net/ChaoFeiLi/article/details/88418248
3、部分问题:
3.1 pyqt5_tools下找不到designer.exe的问题
3.1 解决:https://blog.csdn.net/rong81590509/article/details/101012280 或者自己在文件夹里搜索designer.exe 后找到路径
3.2 配置pyuic遇到error: no such option: -m的问题
解决 :该argument参数 https://blog.csdn.net/weixin_41529093/article/details/108904183 -
设置“PyUIC”:
Program:python的安装目录下的python.exe文件。或者你的 Anconda 的 env的环境中
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
working directory: 你的ui文件所在的路径。比如你的ui文件路径是:F:\tensorflow_exercise\AQM_GUI\test.ui ,则此处应该写入F:\tensorflow_exercise\AQM_GUI。此处的 $FileDir$就是当前文件夹的路径。以防万一 ,你打开右边的 insert Macros,点击里面的选项,下方会出现预览路径,选择你需要的那个命令。
参考:https://blog.csdn.net/f156207495/article/details/77505964
注意:第一开始我的working directory 写的是 $ProjectFileDir$(工程路径) 但老是报错,然后我就参考了上面这个链接里的博客,才发现这里应该填$FileDir$(当前文件夹的路径) -
这个脚本会将ui下得所有ui文件转成py文件 分享一个我自己写的ui-py脚本
新建一个ui目录存放ui文件,然后执行下面这个脚本直接转
import os
ui_path = ../ui
a = {
}
for file in os.listdir(ui_path):
if file.find(.ui) == len(file)-len(.ui):
# list_ui.append(file)
a【file】 = file.split(.)【0】+.py
print(a)
# 切换到ui目录 进度cmd执行ui-py命令
os.chdir(ui_path)
CMD_LINE = python -m PyQt5.uic.pyuic {
} -o {
}
for api in a.items():
print(api【0】)
ret = os.system(CMD_LINE.format(api【0】,api【1】))
if ret == 0:
print(----------\n{
} change to {
} success\n----------------.format(api【0】,api【1】))
else:
print(----------\n{
} change to {
} 【ERROR】\n----------------.format(api【0】,api【1】))
print(done)
- PyQt5中Qt Designer和PyUIC扩展工具的设置
- 面向对象编程1面向对象编程2
- 检测anaconda的环境变量是否添加成功,win+r键打开运行,输入cmd,输入conda,如果anaconda添加成功,会显示一大堆东西,或打开anaconda prompt,输入pip list,会显示当前anaconda环境下的所有包