将组件连接到信号

信号和处理器机制允许组件响应该应用事件,这些事件通过信号表示。当信号被发出时,相应的信号处理器会被调用,通过处理器中放置的脚本来响应事件或其他操作。

要接收到特定组件发出特定信号的通知,组件定义应该声明一个名为on<Signal>的信号处理器,其中<Signal>是信号名称,首字母大写。信号处理器应包含在信号处理器被调用时要执行的JavaScript代码。

组件有预定义的信号,当用户与应用交互时会发出。例如,鼠标区域组件有一个clicked信号,当鼠标在区域内点击时就会发出。由于信号名称为clicked,因此接收此信号的处理器被命名为onClicked

当属性值发生变化时,会自动发出信号。这种类型的信号是属性更改信号,对于这类信号的处理器以on<Property>Changed的形式编写,其中<Property>是属性名称,首字母大写。

例如,鼠标区域组件有一个pressed属性。要接收此属性更改的通知,您会使用名为onPressedChanged的信号处理器。

有关信号和信号处理器的更多信息,请参阅信号和处理器事件系统

在连接视图中连接组件到信号

您可以将组件连接到它们在连接中可用的信号。然后为它们定义操作。您可以在这些动作上添加逻辑条件,根据您的需求来控制它们。

为组件启动一个新连接

  1. 导航器2D视图中选择您要连接的组件。
  2. 转到连接视图中的连接选项卡。
  3. 选择添加)按钮以添加连接。

将组件信号连接到动作

  1. 选择您要连接的目标组件对应的交互信号
  2. 选择当目标组件的选定信号被启动时要实现的动作
  3. 您将获得与所选动作相关的不同属性或子部分。从相关子部分中选择项目/方法/状态/属性/值。这样,您可以通过操作组件来制定设计变更。
  4. 选择添加条件为所选动作包含逻辑。为此,您首先选择要放置逻辑的组件,然后选择条件语句(例如,AND、OR、Equal、Not Equal、Greater、Less、Greater or Equal、Less or Equal)并选择另一个组件进行比较。
  5. 可选。您可以通过选择else语句控件并按要求添加组件和条件语句,类似前一步的方式包括一个else语句
  6. 可选。要使用复杂的条件语句,选择手动编辑控件。输入JavaScript语句后,关闭窗口以应用它们。

注意:选择连接可重新打开连接编辑器以重新编辑任何先前创建的连接

注意:选择移除)可删除一个连接。

动作和条件

您使用连接编辑器为具有条件的动作创建JavaScript表达式。一个动作将组件连接到信号,而条件检索其他组件的属性值并将它们进行比较。基于此,您可以使用JavaScript表达式稍后更改组件。

有关您可以用于构建条件表达式的逻辑运算符的更多信息,请参阅逻辑运算符摘要

创建JavaScript表达式

创建动作的JavaScript表达式有两种方法

  • 按照上述步骤在连接组件信号连接到动作的操作中执行。有关动作及其属性列表,请参阅动作属性

  • 连接视图中打开手动代码编辑窗口,并手动使用组件和逻辑表达式编写JavaScript表达式。

    注意:如果您在连接视图中从下拉菜单中选择选项以创建条件表达式,则只能创建单级if-else表达式。对于嵌套级级的if-else表达式,请使用手动代码编辑

动作属性

动作第1属性第2属性
调用函数项目:[设置受目标组件信号动作影响的组件。]方法:[设置受目标组件的信号影响的项组件的方法。]
分配:[设置从其复制值的组件及其属性,当目标组件启动信号时。]发送到: [当目标组件初始化 信号 时,将复制的值指定给组件及其属性。]
改变状态状态组: [设置当目标组件初始化 信号 时访问的 状态组。]状态: [在指定的 状态组 中设置一个 状态,当目标组件初始化 信号 时访问。]
设置属性项目:[设置受目标组件信号动作影响的组件。]属性: [设置受目标组件 信号 行动影响的组件的属性。]
打印信息信息: [当目标组件的 信号 初始化时打印文本。]不适用

观看此视频,了解 连接 视图工作流程的实际示例。

在某些 Qt 许可下提供。
了解详情。