有关应用程序
为展示PyDM的概念与功能,我们将开发一个用于光束定位与准直的实际应用程序,该应用完全由PyDM控件构建组成。
PyDM允许用户通过以下三种方式创建界面:
-
仅使用Qt Designer应用程序(.ui文件)
-
结合使用Qt Designer与Python代码(.ui和.py文件)
-
仅使用Python代码(.py文件)
在大多数情况下,用户会选择第1种或第2种方式,少数情况下会采用第3种方式。
本教程将在构建目标应用程序时讨论了上述三种场景。
该应用是一个模拟的X射线光束定位/准直应用程序,它将显示相机采集的数据,并通过两个反射镜电机轴控制光束在X和Y方向的位置。

目标应用程序的主界面
宏组件

- 主界面文件
main.ui(红色高亮显示)中两次使用了嵌入式显示组件(绿色高亮显示),其指向inline_motor.ui文件以控制X轴和Y轴电机。 - 在该嵌入式显示组件内部,设有一个相关显示按钮(橙色高亮显示),用于启动
expert_motor.ui界面以配置电机参数。 - 最后,"View All Motors"相关显示按钮(蓝色高亮显示)将启动
all_motors.py界面,在此界面中可列出所有可用的电机轴。
介绍Qt Designer
安装 PyDM 后,您便可以开始创建显示界面。创建显示界面的最简便的方式是使用 Qt Designer,它是用于构建用户界面的Qt拖放工具。
在Linux上启动Qt Designer,如下:
bash
(PYDM) blctrl@blctrl-s3:~$ designer
打开 Designer 后,您将看到一个基本空白的主界面,左侧为控件列表,右侧则是属性检查器。
如下为一个新打开的Qt Designer,注意:PyDM控件位于左侧控件列表底部.

注意:所有 PyDM 显示界面必须以 控件(Widget) 作为基础容器;若尝试使用 主窗口(MainWindow) 作为基础,界面将无法正常运行。
新的文件对话框。注意:控件(Widget)作为所选项。

现在您会看到一个空白的窗口,可以在它上面拖放控件。如果将"PyDM显示控件"分类下的 PyDM标签控件 拖放到这个窗口,在界面右侧的属性检查器中,可以看到该控件的所有属性。在属性列表的底部是 PyDM专属属性。
PyDMLabel的属性粉色显示

在其Channel属性中填入:ca://{P}{R}{TEMP}{N}_CH
完成界面设计后,请点击文件 →保存...,将 1.ui 文件保存至指定位置。
我们可以用以下命令启动这个界面,尝试读取PV:PLC:TEMP:RTD08_CH
bash
(PYDM) blctrl@blctrl-s3:~/pydir$ pydm -m 'P=PLC:,R=TEMP:,TEMP=RTD,N=08' 1.ui
启动界面后,成功读取了指定名称的PV值.
