QT5:QObject::connect()介绍

网友投稿 1121 2022-05-29

学习QT,绕不卡信号与槽,这是QT的一大重点,也是亮点。而QT5则丰富了信号与槽的重载函数,足足增加到了5个,分别如下: 1.

其中,第3个和第5个重载最具有特点。

首先看看第3个重载函数,查看QT的help文档,可以看到给出的一个例子:

QLabel *label = new QLabel; QLineEdit *lineEdit = new QLineEdit; QObject::connect(lineEdit, &QLineEdit::textChanged, label, &QLabel::setText);

但是当信号由多个重载时,这么直接使用就会出现编译失败,因为编译器找不到对应方法。我们可以通过函数指针的变量来来指定实际的信号,如下图所示,黄色框内的代码和绿色框内的等价。

之后,看看第5个重载函数,也看看help文档给出的代码例子。

可以明显看到槽函数变成了Lambda表达式,这对于某些简单的槽函数,可就节省了思考方法名的时间了,很大程度提升了便捷性。而Lambda表达式的编写方法,可以具体查看。

QT5:QObject::connect()介绍

最后,结束语,希望自己早早掌握QT。

本文转载自异步社区。

原文链接:

https://www.epubit.com/articleDetails?id=N931dcf60-be3f-44f1-9298-546de9488d32

软件开发 软件开发

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何快速了解一个新的前端项目?
下一篇:《Word/Excel/PPT 2019完全自学教程 : 视频讲解版 》 —3.3 用自选图形为文档说话
相关文章