使用Qt designer和eric6开发GUI软件

1. PyQt5和eric6安装

  • PyQt5下载地址

  • PyQt5的安装(一路next)

  • 安装验证

    C:\Users\Shylin>python
    Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import PyQt5
    >>>
  • eric6下载地址

  • 解压,找到 install.py所在目录,在当前目录打开cmd窗口,输入命令python install.py 进行安装
  • 在python的Scripts的路径下,我的路径是C:\Users\Shylin\Anaconda3\Scripts ,找到eric6.bat文件,这是eric6的启动快捷方式,可以将其复制到桌面,方便启动

  • eric6配置 工具栏 —settings—Preferences—Editor—APIs—选择语言为python3—添加如下APIS —Compile APIS—Apply(正常操作)

    C:\Users\Shylin\Anaconda3\lib\site-packages\PyQt5\Qt\qsci\api\python\eric6.api

    C:\Users\Shylin\Anaconda3\lib\site-packages\PyQt5\Qt\qsci\api\python\Python-3.6.api

    C:\Users\Shylin\Anaconda3\lib\site-packages\PyQt5\Qt\qsci\api\python\PyQt5.api

    我的eric6这样配置好后,再去查看添加的APIS又是空的。尝试许久,可使用以下方法解决:

    工具栏 —settings—Preferences—Debugger—Python3—选中default—Apply

这里写图片描述

这里写图片描述

2. 使用Qt designer和eric6开发GUI

  • 新建项目 在eric6 工具栏—Project—New

    这里写图片描述

  • 根据ui文件打开Qt designer

    这里写图片描述

  • Qt designer界面,直接将左侧组件栏的组件拖到UI设计界面窗口
    这里写图片描述

  • UI设计完成后,保存,返回到eric6j界面,ui文件编译成python代码,左上角会显示编译成功

    这里写图片描述

  • 生成信号和槽文件

    这里写图片描述
    这里写图片描述

  • 查看根据UI,信号和槽生成的python代码,在信号和槽代码中添加处理逻辑

    这里写图片描述

3. 使用pyinstaller打包成exe

  • pyinstaller安装 pip install pyinstaller

  • 将BelleTool.py(信号和槽),Ui_BelleTool.py(生成UI界面)放到一个文件夹下,将两者分开存放,可以实现解耦;修改了UI界面不会影响到信号和槽;

  • 打包exe命令pyinstaller 目标py文件 --noconsole(BelleTool.py,非Ui_BelleTool.py, 参数–noconsole不产生cmd窗口)

  • 在dist目录会生成BelleTool.exe

    • 双击BelleTool.exe,结果一闪而过,无法查看日志,通过增加 -w 参数打包查看都是INFO,没有ERROR信息。找到一个方法,打开cmd窗口,把.exe文件拖入窗口,Enter,结果出现如下报错信息
    Microsoft Windows [版本 10.0.17134.228]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\Shylin>F:\dist\dist\BelleTool\BelleTool.exe
    Traceback (most recent call last):
      File "BelleTool.py", line 9, in <module>
      File "C:\Users\Shylin\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
        module = loader.load_module(fullname)
    ModuleNotFoundError: No module named 'PyQt5.sip'
    [7588] Failed to execute script BelleTool

    以上错误信息说明没找到模块,然后在BelleTool.py代码中加入 from PyQt5 import sip

    再次进行打包,成功运行.exe文件


Shylin

猜你喜欢

转载自blog.csdn.net/Shyllin/article/details/81907668
今日推荐