Qt - 接收信号的对象

时间:2012-09-02 07:40:23

标签: qt object

Qt应用程序中,如果我们有以下示例:

.
.
.
QApplication a(argc, argv);
.
.
.
QObject::connect(&button, SIGNAL(clicked()), &a, SLOT(quit()));
.
.
.

在这里,我知道button是发送信号的对象。因此,a是将响应信号的对象。在这种情况下,aQApplication个对象。但是,它真正代表什么?例如,我们知道button是一个按钮对象,那么a代表什么?它只是一个窗口

感谢。

2 个答案:

答案 0 :(得分:4)

QApplication不代表任何视觉元素。相反,它代表了整个“程序” - 当然这是一种更为抽象的东西。

答案 1 :(得分:0)

引用Qt documentation

The QApplication class manages the GUI application's control flow and main settings.

QApplication实例最重要的任务是处理事件:例如,每当您移动鼠标时,应用程序都会从​​OS(或窗口系统)接收事件,QApplication实例将会发送并转发到您的GUI。此外,当您emit发出信号时,QApplication的事件循环将调用已连接的广告位。

涉及QApplication的其他任务:

  • 命令行解析
  • 样式化(根据操作系统选择正确的小部件外观)
  • 会话管理
  • 翻译/国际