前言

    最近有需求做个桌面程序。本想用Qt C++写,后来发现时间比较充裕,就打算改用Qt for python来写。

过程

    因为我电脑上已经装了Qt,所以我打开新建工程栏一看,发现有python工程的选项。

Gui Qt python 快速编程 qt for python_Qt


    我新建一个Qt for Python - Window工程,看看能不能跑起来。

Gui Qt python 快速编程 qt for python_python_02

运行后,结果打印了上图信息。

字面意思就是,根据命令行参数调用了python重定向器,然后打印了错误信息并退出了。

    我根据上图打码部分找到了对应位置的python.exe,发现是一个大小为0KB可执行文件,

Gui Qt python 快速编程 qt for python_ide_03


点击后发现跳转到了应用商店,大概是让我安装的意思。

也就是说我可能没有装python,或许以前装过,卸载了。

保险起见,我还是打开了官方网站,看看怎么使用Qt for Python的环境。

Qt for Python(Pyside)

    在安装Qt for python之前,先查了下关于Qt for python的一些介绍。
    Qt for python介绍     这边简单根据我找到的资料说下,Qt for Python也被称为Pyside(Pyside2是它的新版本),网传最早支持python的Qt模块是叫pyqt,但是因为pyqt的开发者不是Qt母公司(Trolltech奇趣科技)下的,且因为Trolltech在GPL协议上与他的开发公司不合,所以Trolltech自力更生,开始开发Pyside。
    所以有个比喻是,把PyQt比作Qt的早期的义子,而Pyside相当于Qt的亲儿子。只不过PyQt出生的早,相对来说比较成熟。而Pyside虽然出生晚,但毕竟是亲生的,Qt会日益完善它,壮大它。
    本文中说到的Qt for Python就是Pyside2.

安装教程

    win平台官方教程引导     看了下,官方教程太复杂了,这一大堆东西,我也不知我装没装,还有一些是可选的,也不知道要不要装。

    查了查关于教程中提到的几个前提工具的资料。

Gui Qt python 快速编程 qt for python_PySide2_04

  • Qt包,就是就是Qt本身,因为我是装了Qt5.13.0的IDE的,所以是包含在内的。
  • Python解释器,就是Python,我应该是没有装,或者以前有过,但是失效了。
  • MSVC2017,是编译器嘛,包含在Qt IDE里的。
  • CMake,我是装了的,主要是用来构建工程的。
  • Git,不说了吧,程序员都懂的
  • libclang,也是在IDE中
  • OpenSSL,网络通信中用到的,我有自己编译过,对Qt而言不是必须的。
  • venv和sphinx都是可选的,暂时就不装了

    简单看了下,就python是必须要的,其他的如果你已经装了Qt高版本了,就包含在内了。

    因为官方说Pyside2的首个版本(基于Qt5.11),支持三种主流桌面操作系统上的Python,版本包括 2.7、3.5和3.6,当然最新版本支持地可能更多了。但保险起见,我还是选择了装Python3.6。

    Python下载地址     其中3.6的大部分版本都只有源码包,要自己编译的。我担心自己的编译环境不匹配,所以选择了3.6.8这个相对较新的具有exe安装包的版本。

    装完了之后,将运行配置中的解释器定向到新装的python.exe下。

Gui Qt python 快速编程 qt for python_ide_05


再次运行,

Gui Qt python 快速编程 qt for python_ide_06


这次报错就比较明显了,缺少Pyside2模块。因为我现在只有Qt和python嘛,还缺少一个连接它们,使它们协同运作的模块。

    通过命令:

pip install PySide2

    可以直接安装PySide2(pip命令是python环境下自带的一个下载工具,如果提示pip命令无效,那很可能是你没有配置环境变量,你将python目录下的scripts目录加入到环境变量即可),不过很有可能因为网络问题下载失败,Qt给的那个资源站点国内不太好连?
    于是我找了一个还不错的站点,
    pyside2下载     选择自己平台相匹配的pyside2包下载下来即可。
    接着通过命令安装:

pip install 你下载的pyside2 whl包

Gui Qt python 快速编程 qt for python_Gui Qt python 快速编程_07


    稍等片刻,就安装成功了。

    此时再打开Qt运行main.py程序运行,即可运行成功

Gui Qt python 快速编程 qt for python_python_08

反思

    我装这个环境,零零散散花了很长时间。感觉对一个软工来说装环境应该就跟一般的操作安装包一样简单。所以简单反省、总结一下几个点,

  1. 其实若过程中所有环境都给我安装好,就算自己编译也不是难事。但因为实际各种环境缺失,所以我觉得安装应该优先选择安装包,而不是源码编译。
  2. 对于这种安装来说,网上肯定有许多现成的案例,但是查下来发现都差不多,可能因为各种原因你没办法用。这个时候容易一筹莫展,此时可以根据官方教程一步步来。
  3. 在过程中涉及到的不知晓的工具,应该先查一下相关资料,简单了解下它的作用。以在后续过程中遇到可以做一些简单判断。
  4. 然后就是版本一定要匹配。资源下载不动时,可以找找有没有其他下载快的站点。