zoukankan      html  css  js  c++  java
  • 3、QT的信号和槽机制

    信号(signals):

    1. 自定义信号写到signals下;
    2. 信号没有返回值,即返回类型为void
    3. 只需要声明,不需要实现
    4. 可以有参数,也可以无参数,即可以重载
    signals:
         void yourSignal(); 
         void yourSignal(intx);    

    槽(slot)处理信号:

    1. 早期的qt必须写到public slot下,后期版本可以写到public下,也可以写成全局函数
    2. 返回值类型void
    3. 需要声明也需要实现
    4. 可以有也可以没有参数,可以重载
    pulicslots:
            void yourSlot();
            void yourSlot(intx);

    信号和槽的连接(connect):

    1. 一个信号可以连接多个槽
    2. 多个信号可以连接同一个槽
    3. 一个信号可以和另外一个信号连接
    4. 连接可以被移除
    5. 要把信号成功和槽连接(或连接到另外一个信号),他们的参数必须具有相同的顺序和相同的类型
    6. 如果信号的参数比它所连接的槽的参数多,那么多余的参数将会被简单的忽略

    小结:

      从QOBject或其子类(如QWidget)派生的类都能使用信号和槽机制。这种机制本身 是在QObject中实现的,并不只局限于图形用户界面编程中:当对象的状态得到改变时,它可以某种方式将信号发射(emit)出去,但它并不了解是谁在接收这个信号。槽被用于接收信号,事实上槽是普通的对象成员函数。槽也并不了解有任何信号与自己相连接。而且并不了解具体的通信机制。这实际上是“封装 ”概念的生动体现,信号与槽机制确保了Qt中的对象被当做软件的组件来使用,体现了“软件构件化”的思想。

    一个初识C++的小白
  • 相关阅读:
    面板评分太低会算两次
    没有使用大漩涡传送门没有杀死大法师瓦格斯
    win10创建本地用户
    延迟着色
    GPU 优化总结
    UE4 减少APK包的大小
    UE4 性能优化方法(工具篇)
    Unreal Engine 4的常见Tips
    虚幻引擎4设置Visual Studio
    模型导入的单位问题
  • 原文地址:https://www.cnblogs.com/Real-m/p/13476004.html
Copyright © 2011-2022 走看看