Qt connect()的第五种重载[=](){}

进行网络相关编程时,需要使用信号和槽,碰到一个={}作为槽函数的语句。

【用途】实现函数内部的信号接收。

【原语句】

connect(tcpSocket, &QTcpSocket::readyRead,

[=](){

//从通信套接字中取出内容

QByteArray array = tcpSocket->readAll();

qDebug()<<array<<endl;

}

);

【函数原型】

static(qmetaobject-connection.html) QObject::connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)

测试的简单例子

connection.h

#ifndef CONNECTION_H

#define CONNECTION_H

#include <QObject>

#include<QDebug>

class Connection:public QObject

{

Q_OBJECT

public:

Connection();

void test_emit_signal();

public slots:

void test_slot();

signals:

void test_signal();

};

#endif // CONNECTION_H

connection.cpp

#include "connection.h"

Connection::Connection()

{

//connect(this,SIGNAL(test_signal()),this,SLOT(test_slot()));出错

connect(this,&Connection::test_signal,[=](){

qDebug()<<"in slot"<<endl;

//信号需要用指针的形式,而不能用SIGNAL()的形式

}

);

this->test_emit_signal();

}

void Connection::test_slot(){

qDebug()<<"signal received !"<<endl;

}

void Connection::test_emit_signal(){

emit test_signal();

}

main.c

#include <QCoreApplication>

#include"connection.h"

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

Connection *tmp=new Connection();

return a.exec();

}

值得注意的是用这种方式处理时,信号需要以指针形式书写。

Qt connect()的第五种重载[=](){}相关推荐

  1. QT之connect的第五个参数(信号与槽的使用)(qt对象树)

    目录 一 .QT connect 第5个参数一般不填,为默认值. 二.信号 三.connect函数原型 四.信号与槽的多种用法 五.槽的属性 一 .QT connect 第5个参数一般不填,为默认值. ...

  2. Qt-窗口消息处理机制及拦截消息的五种方法

    [Qt 拦截消息的五种方法] 覆写框架类QCoreApplication的notify函数,这个函数将得到整个框架中所有窗口的消息 给框架类安装一个消息过滤器 QCoreApplication-> ...

  3. 【Java用法】FileWriter的用法 wirte() 方法以及几种重载方法的使用详解

    本文目录 一.用法介绍 二.疑问解答 2.1.如果这个文件不存在会怎么样? 2.2.如果这个文件存在的话会怎么样? 2.3.如果不想覆盖之前的内容,想要追加内容怎么做? 2.4.添加数据,如何实现换行 ...

  4. Qt connect信号连接的几种写法

    概述 Qt 中的信号和槽应该是最熟悉不过的了,连接信号和槽的关键字 connect有五种连接类型,今天不是介绍这五种连接类型,而是简单的总结一下 connect 的几种新旧写法,其实在新版本中几种写法 ...

  5. Qt connect 第五个参数

    一,Qt connect 函数原型如下,第五个(5种)参数根据接收者和发送者是否在同一个线程不同 QObject::connect(const QObject *sender, const char ...

  6. python 重载_python模块重载的五种方法

    环境准备 新建一个 foo 文件夹,其下包含一个 bar.py 文件 bar.py 的内容非常简单,只写了个 print 语句 只要 bar.py 被导入一次,就被执行一次 print 禁止重复导入 ...

  7. QT学习笔记(五):Qt5的8种标准对话框示例

    QT学习笔记(五):Qt5的8种标准对话框示例 前言 实例展示 1.颜色对话框 2.文件对话框 3.字体对话框 4.输入对话框 5.消息对框 6.进度对话框 7.错误信息对话框 8.向导对话框. 前言 ...

  8. Qt工作笔记-对connect的第五个参数的研究

    本程序配合了QObject::sender,关于QObject::sender在下面这个链接中: https://blog.csdn.net/qq78442761/article/details/81 ...

  9. Qt信号与槽的五种连接方式

    qt信号与槽的五种连接方式: 1.默认连接:如果是在同一线程等价于直连,在不同线程等价于队列连接 2.直连:信号在哪,在哪个线程执行(最好只在同一线程中用) 3.队列连接: 槽在哪就在哪个线程执行 ( ...

最新文章

  1. 选择学习“下一个”程序语言
  2. zabbix 2.2 监控mysql_Zabbix-2.2.2监控MySQL的复制-阿里云开发者社区
  3. 获取当前iframe动态加载文档的href
  4. SAP HANA Database Explorer 里 SQL console 的用法
  5. java pdfbox2 中文乱码,如何从PDFBox 2.0.2中的PDDocument提取字体
  6. LeetCode 819. 最常见的单词
  7. qsplitter 折叠_河南断桥折叠门效果
  8. 开放app开放login_开放值得付出努力吗?
  9. java 字段名重复,java – JSON响应中的重复字段
  10. elasticsearch的一个bug总结
  11. Unity2018.2中文更新日志速览版
  12. 数字高程模型和地图——thematicmapping.org译文(一)
  13. larval框架数据表的填充
  14. android程序设计拍照,Android编程实现拍照功能的2种方法分析
  15. CentOS7.9安装Nextcloud+ocDownloader+aria2使用Nextcloud网盘做离线下载服务器
  16. 数据库sql简单的优化方案
  17. git config本地信息配置
  18. 微服务概念及SpringCloud五大神兽介绍
  19. 拼多多上市了!社交电商的力量不容小觑!
  20. Ubuntu下结合GoldDict和谷歌翻译实现快速划译整段文本

热门文章

  1. Linux 文件特殊权限 SUID、SGID 与 SBIT
  2. 【学习笔记】莫队算法
  3. loj10036. 「一本通 2.1 练习 2」Seek the Name, Seek the Fame
  4. 外媒:iPhone 8售价太高 中国消费者热情程度不高
  5. Oracle 存储方式大比拼
  6. 8 mv命令_Linux常用操作命令——文件和目录操作
  7. centos7.0上安装五笔输入法
  8. Docx模板引擎示例
  9. 在Firefox中通过AJAX跨域访问Web资源
  10. java调用百度地图API依据地理位置中文获取经纬度