Qt学习基础1.5-信号与槽

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qhs414/article/details/102768276

信号与槽    

Qt中定义了与系统消息相关的概念

  • 信号(Signal):由操作系统产生的消息
  • 槽(Slot):程序中的消息处理函数连接
  • (Connect):将系统消息绑定到消息处理函数      

Qt中的消息处理机制

                                                                                                                                                                                                                                 

   Qt的核心-QObject::connect函数

bool connect(const QObject* sender,         //发送对象
             const char* signal,            //消息名
             const QObject* receiver,       //接受对象
             const char* method,            //接受对象额成员函数
             Qt::ConnectionType type = Qt ::AutoConnection);

 在Qt中,消息用字符串进行描述

connect函数在消息名和处理函数之间建立映射

  1. SIGNAL:用于指定消息名
  2. SLOT:用于指定消息处理函数名
  3. Q_OBJECT:所有自定义槽的类必须在类声明的开始处加上Q_OBJRCT
  4. slots:用于在类中声明消息处理函数 

    自定义槽:  

  • 只有QObject的字类才能自定义槽
  • 定义槽的类必须在声明的最开始处使用Q_OBJECT
  • 类中声明槽时需要使用slots关键字
  • 槽与所处理的信号在函数签名上必须一致
  • SIGNAL和SLOT所指定的名称中:可以包含参数类型   不能包含具体的参数名

                                                                                                                                                                                                                                        

猜你喜欢

转载自blog.csdn.net/qhs414/article/details/102768276