1. PyQt5的几点小东西

我用的是MacBook,所以基本上只针对Mac适用。

1.1. 安装

1.1.1. PyQt5的安装

Anaconda 中已经自带了 PyQt5 及其依赖的相应的功能模块,省去了的不少麻烦。如果想升级到最新的版本,可以手动升级:

conda install -c anaconda pyqt

可以导入 PyQt5 模块,测试是否安装成功。如果不报错,就是成功了:

In [1]:
import PyQt5

当 Anaconda 中创建了比较多的环境时,可以方便查看当前环境里模块的位置:

In [2]:
PyQt5.__path__
Out[2]:
['/Users/yangnaisen/anaconda/envs/rsbook/lib/python3.6/site-packages/PyQt5']

查看相应模块版本:

In [4]:
from PyQt5.QtCore import QT_VERSION_STR
from PyQt5.Qt import PYQT_VERSION_STR
from sip import SIP_VERSION_STR

print("Qt5 Version Number is: {0}".format(QT_VERSION_STR))
print("PyQt5 Version is: {}".format(PYQT_VERSION_STR))
print("Sip Version is: {}".format(SIP_VERSION_STR))
Qt5 Version Number is: 5.9.6
PyQt5 Version is: 5.9.2
Sip Version is: 4.19.8

1.1.2. Qt Designer的安装

相应的界面设计软件 Qt Designer,在 bin 文件夹里, 叫作 Designer.app 。可以在命令行使用命令

open -a Designer

来打开软件。Anaconda 自带的 Designer 软件一般不是最新版,需要下载安装最新版本的 Qt 才能更新,整个安装包比较大。下载地址为:

https://download.qt.io/official_releases/qt/

安装完成后,可以在安装位置文件夹下的 clang_64/bin 中找到 Designer.app。

将 Qt Designer 与 VS code 等 IDE 关联的时候,需要选择 Designer 的路径。选择 Designer 的路径时候不要直接选 Designer.app 的路径, Designer.app 只是一个包的名称。而是应该选择它子文件夹下的 Designer:

bin⁩/⁨Designer.app⁩/⁨Contents⁩/MacOS⁩/Designer

将 Designer 生成的 * .ui 文件转化成 * .py 文件就可以当做 Python 模块导入调用了。使用下面的命令行名来转换:

pyuic5 uiFiles/demoLineEdit.ui -o uiFiles/demoLineEdit.py

调用生成的文件的主文件,结尾一般是 * .pyw ,使得整个程序运行的时候不会弹出黑色的命令窗口。

1.2. Mac 下的 Main Window组件

Mac 下的菜单栏 QMenuBar,与 Windows 系统不同,不在标题的下方,而是在整个屏幕的最上方。如下图所示,在菜单栏的第一个位置键入 Menu:

Menu图

Menu图

Menu 下再添加子菜单的功能 Copy 和 Paste:

Menu子菜单

Menu子菜单

可以看到 Menu 的内容变为了空白,此处不是 bug,而是 Mac 系统下的显示方式。预览时可以看到被隐藏的 Menu 菜单:

Menu预览

Menu预览