-1

我想知道是否有人可以为我澄清以下内容。我即将参加与 Qt 相关的测试,示例问题相当模糊。其中一个问题如下:

QAction 是 Qt 中一个特殊的 GUI 相关类。关于 QAction 实例,我们可以正确地说:

  • 一个。QAction istances 等价于插槽。
  • 湾。QAction 实例可以连接到插槽。
  • C。QAction 实例自动触发 GUI 事件。

我认为 QAction 实际上可以连接到插槽是正确的吗?B是正确答案吗?

4

1 回答 1

2

QAction只是一个类。QObject当涉及到信号和插槽时,它的行为与其他类完全一样。所有的“a”、“b”和“c”陈述都是错误的。QActioninstance 不是插槽,不能连接到插槽。“连接”仅在实例的信号和插槽之间定义,而不是实例本身。事实是,它QAction提供triggered了可以连接到插槽的信号。

此外,您似乎对slot auto-connection感到困惑。您可以创建一个名为的插槽on_<action_name>_triggered,它将自动连接到相应的操作。但是这个特性适用于任何 QObject 派生的类,不仅仅是 QAction。

很难理解“GUI 事件”是什么意思。QAction 不是小部件。它不直接操作GUI。任何 GUI 事件都由使用的小部件(例如 QMenu)处理。另请注意,事件不是信号。使用 QAction 时,通常不需要考虑事件。

于 2013-11-15T01:25:40.543 回答