QAction是一个特殊的GUI相关类,可以连接到插槽吗?

  • 本文关键字:连接 插槽 GUI 一个 QAction qt
  • 更新时间 :
  • 英文 :


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

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

  • a. QAction 状态等同于插槽。
  • b. QAction 实例可以连接到插槽。
  • c. QAction 实例会自动触发 GUI 事件。

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

QAction只是一个类。在信号和插槽方面,它的作用与其他QObject类完全相同。所有"a"、"b"和"c"陈述都是错误的。 QAction实例不是槽,无法连接到槽。"连接"仅在实例的信号和插槽之间定义,而不是实例本身。事实是,QAction提供了可以连接到插槽triggered信号。

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

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

最新更新