当前位置: 首页 > news >正文

南京商城网站建设品牌推广百度seo

南京商城网站建设,品牌推广百度seo,长沙网标集团,网站认证金额怎么做分录如图,首先 connect是线程安全的。其次它有很多重载,当然最重要的还是QT4连接和QT5连接的区别,这个函数重载表示connect函数也是支持lambda函数的。 connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)connec…

在这里插入图片描述
如图,首先 connect是线程安全的。其次它有很多重载,当然最重要的还是QT4连接和QT5连接的区别,这个函数重载表示connect函数也是支持lambda函数的。

connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)

connect 函数的第五个参数

在这里插入图片描述
了解 connect的第五个参数是非常重要的。其中Qt::UniqueConnection是比较特殊的,它仅仅用于connect的在两个对象之间一个信号和一个槽之间连接的唯一性。注意 在QT中一个对象的信号重复连接到另外一个对象的槽上,那么当信号发送时,每个连接的槽都会执行。如果只希望连接一次那么就可以使用Qt::UniqueConnection。当出现重复的连接时就会连接失败。问题 如何判断连接是否失败了?答案就是connect的返回值。
在这里插入图片描述
因为QMetaObject::Connection重载了运算符bool所以可以将该类直接用于条件判断。代码如下

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QMetaObject::Connection con = connect(ui->pushButton, &QPushButton::clicked, this, &Widget::slotClicked, Qt::UniqueConnection);QMetaObject::Connection con_1 = connect(ui->pushButton, &QPushButton::clicked, this, &Widget::slotClicked, Qt::UniqueConnection);if(con_1){qDebug() << QStringLiteral("第二次连接成功");}else{qDebug() << QStringLiteral("第二次连接失败");}
}Widget::~Widget()
{delete ui;
}void Widget::slotClicked()
{qDebug() << QStringLiteral("按钮被点击了");
}

这里又可以体现出lambda表达式的坏处。lambda最大的好处就是使用非常方便。不好的地方有使用lambda函数导致调试困难。

    QMetaObject::Connection con = connect(ui->pushButton, &QPushButton::clicked, this, [](){qDebug() << QStringLiteral("按钮被点击了");}, Qt::UniqueConnection);if(con){qDebug() << QStringLiteral("con连接成功");}else{qDebug() << QStringLiteral("con连接失败");}QMetaObject::Connection con_1 = connect(ui->pushButton, &QPushButton::clicked, this, [](){qDebug() << QStringLiteral("按钮被点击了");}, Qt::UniqueConnection);if(con_1){qDebug() << QStringLiteral("con_1连接成功");}else{qDebug() << QStringLiteral("con_1连接失败");}

此时就算两个匿名函数的函数体一样,但是由于名字不一样所以两个都可以连接成功。使用匿名函数导致调试困难
在这里插入图片描述
即使是debug模式仍然不会进入断点。

剩下的四个参数

Qt::AutoConnection 默认就是此链接,如果发送对象和接收对象在同一个线程,那么就是Qt::DirectConnection链接如果不是在同一个线程上那么就是Qt::QueuedConnection
Qt::BlockingQueuedConnectionQt::QueuedConnection相同,不同的是发送信号的线程将会阻塞直到被执行的槽函数返回。如果在同一个线程进行该参数的连接会导致死锁。

http://www.khdw.cn/news/42710.html

相关文章:

  • 软件开发管理工具广西seo快速排名
  • javaee网站开发视频免费建网站平台
  • 南通做网站baidu tg站长之家关键词挖掘
  • nas可以做视频网站吗微信营销管理软件
  • 独立做网站前端数据seo有哪些优缺点?
  • 张扬网站建设阳西网站seo
  • 网站seo注意事项营销网站的宣传、推广与运作
  • 用jsp做网站需要的知识典型十大优秀网络营销案例
  • 设计网站页面好处重庆seo小z博客
  • 河北省保定市唐县城乡建设网站域名查询平台
  • 网站建设运营法律风险防范seo网站推广怎么做
  • 网站策划和运营自媒体怎么赚钱
  • 怎样用模板做网站福州seo快速排名软件
  • 网站 垃圾外链怎样推广小程序平台
  • 三国群英传私服网站怎么做万能软文范例800字
  • 制作旅游网站简单sem什么意思
  • 用me做后缀的网站seo中文全称是什么
  • 网站怎样做反向链接黄页网站推广服务
  • 河东做网站让百度收录自己的网站
  • 适合个人做的网站网站服务器怎么搭建
  • 做百度手机网站关键词排名seo企业优化顾问
  • 做酸菜视频网站没被屏蔽的国外新闻网站
  • 国内用JSP做的网站有哪些营销网课
  • 深圳网站制作网站建设怎么制作网站深圳博纳视频营销案例
  • 网站开发 论文关键词排名怎么快速上去
  • 长春网站建设及推广真正免费的网站建站平台推荐
  • 写作网站平台做百度关键词排名的公司
  • 沈阳军成网站建设新媒体运营
  • 专业网站制作 广州番禺营销型网站建设公司
  • 做网站一般的尺寸商城全网推广运营公司