Sephiroth1s'blog

The quieter you became,the more you are able to hear.

前言(可直接跳过)

  • 之前用 QT 写过串口助手,发现这玩意真TM好用,还跨平台,但是有时候有些东西还是要自己来实现,刚好会点 python 就发现了 PYQT 这个有趣的玩意,结合了 python 和 QT 的优点,可以偷懒了:)
  • 在使用过过程中使用过两个开发环境 Eric6 和 pycharm,简答描述一下前者的使用体验,是专门用于 PYQT 开发的 IDE,本身也是 python 开发的,可以直接调用 QtDesigner 并且可以将 ui 文件直接转换成 py 代码,还有针对 QT 的信号和槽等机制的一键生成代码段的功能,整体界面跟 eclipse 类似,但是有个缺点,代码补全效果弱爆,甚至可能崩溃,在用过 pycharm 之后更是明显感觉到差距。(没有代码补全完全活不下去了)。
  • ps:以下内容 QT 均指 C++ 版本的,PYQT 均指 python 版本的

1.PYQT 环境配置

  • 由于 Parrot 自带的 python3 没有 pip 需要装一下,执行以下命令
    1
    sudo apt-get install python3-pip
  • PYQT 对于 python3 有官方的支持,对 python2 没有官方的支持,如果一定要在 2 的环境下可以尝试安装 python-qt5,本文使用的是 python3环境,执行以下命令安装 pyqt5
    1
    pip3 install pyqt5
  • Parrot 自带 QT5 环境,但针对 C++ 环境,所以可用的只有 QtDesigner,我们还需要将 ui 文件转换为py代码的工具 pyuic 和其他 QT 附属工具的 py 版本,执行以下命令进行安装
    1
    sudo apt-get install qttools5-dev-tools

2.pycharm 配置

  • 为了调用 PYQT 的工具,我们需要使用 pycharm 的外部扩展工具功能,具体位置为:File –> setting –> Tools –> External Tools
  • 主要配置的参数有三个 Program,Arguments,Wroking directory
  • 下图是 QtDesigner 的配置,除了 Program 选项其他选项也可以不设置。下面两个可以选填一个到 Program 选项里
    1
    2
    /usr/lib/qt5/bin/designer (前面安装的工具集)
    /usr/bin/designer (系统环境 QT 带的)
    QtDesigner配置图
  • 配置 pyuic,将 ui 文件转换为 py 代码,在工具配置界面填入如下内容
    1
    2
    3
    Program:/usr/lib/python3
    Arguments:-m PyQt5.uic.pyuic $FileName$ -xo $FileNameWithoutExtension$.py
    Wroking directory:$FileDir$
    Pyuic配置图
  • 这里顺便提一下 -xo 参数如果去掉 x 参数生成的 py 代码就会缺少下面这一段
    x参数配置图
  • 至此基本配置完毕,附上运行效果图
    效果图

    参考链接

  • 官方文档

    结语

  • pycharm 真好用