PyQt5学习资源准备与环境配置

选用《Python Qt GUI与数据可视化编程》进行学习,此书源码与彩图
先整理一下B站视频教程——PyQt5教程评论区的资源:

  • 此课程相应代码

  • 相关配置软件安装

  • 对应博客1

  • 对应博客2

  • 对应博客3

  • 对应博客4

  • 这个教程主要是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)

猜你喜欢

转载自blog.csdn.net/qq_44941689/article/details/122800989