zoukankan      html  css  js  c++  java
  • 关于qt信号和事件的区别的思考

    1:一般在Qt中只是将精力放在发送信号上并不放在事件上,因为事件最终要发送一个信号。比如我们关心的是QPUshButton的鼠标点击事件,但我们不需要关心这个鼠标点击事件,而是关心它的clicked()信号。

    Qt的事件很容易和信号槽混淆。
    这里简单的说明一下,signal由具体对象发出,然后马上交给由connect函数链接的slot进行处理。(聚焦在发起信号的对象上。而对于事件,QT使用一个事件队列对所有发出的事件进行维护,当新事件产生时,会被追加到事件队列的尾部,前一个事件完后,取出后面事件进行处理。聚焦在事件上而不关心事件的发起者。因为事件循环由该发起对象维护。
    但必要时,QT的事件也可以不进入事件队列,而是直接处理的,并且事件还可以使用事件过滤器

    总的说当我们使用组件时关心的是信号槽。如果我们自定义组件,我们关心的是事件(在这个组件内的事件循环中处理该组件内的各种事件)。

    2:或者说信号槽是对象之间的信息通讯的方式。事件是一个对象内部的一些功能的实现方式。

    开始从工作中找乐趣
  • 相关阅读:
    监听键盘弹出 隐藏
    状态栏 设置白色字体
    UITextField 属性详解
    支付宝集成SDK 报错
    UIWebView
    app上传 需要的icon
    百度云推送 pem
    百度地图
    info.plist 属性讲解
    静态库 动态库
  • 原文地址:https://www.cnblogs.com/keleman/p/14338146.html
Copyright © 2011-2022 走看看