信号与槽的简单应用实例

题外话

       按照我之前的规划,我让江俊良同学撰写了关于QT中信号与槽的相关技术文档并在周一发表。江俊良同学的所写的文档,简单易懂,大家阅读之后都一致好评,在此值得肯定,愿再接再厉。3月14日的任务目的在于加深你们对于QT中信号与槽的理解,所以想简单的让你们学会去使用信号与槽,故给出了如下需求,让大家通过编程实现

信号与槽的简单应用实例_第1张图片
3.14_task

Let’s Do It Together

step1 创建界面


这一步很简单,我们打开QT,通过设计师模式,简单的拖拽一个LineEdit和PushButton,并做下垂直或水平布局(随意),效果如下图:


信号与槽的简单应用实例_第2张图片
界面

Step2 声明槽函数

进入MainWindow.h(我创建的是默认的mainwindow类,你们如果在创建时自定义了类名,那么就进入“你创建的类名.h”),在类中我们添加一种QT独有的类的声明标识符:"private slots:"


信号与槽的简单应用实例_第3张图片

如图,我声明了一个void 类型的名为ButtonSlot()的槽函数,接下来我们定义槽函数如何去实现功能。

按下F4我们可快速切换到Mainwindow.cpp,并补出槽函数的外体轮廓:

信号与槽的简单应用实例_第4张图片

Step3 在槽函数中实现功能

我们的目的在于当Button被点击后,弹出一个对话框,对话框显示出LineEdit的输入。

分以下几步实现:

1.使用QMessageBox类掉出一个对话框。

QMessageBox类之后我们会常用到,需要添加#include这个编译预处理命令。在此,先给大家一个简单的使用示范,你们之后再仔细了解。QMessage类中有一个静态成员函数Information.这个函数会弹出一个对话窗口,用于提示一些信息。既然是静态成员函数,那么我们可以无需创建对象便可直接调用,调用方法为:QMessageBox::Information(当前父窗口,窗口标题,信息内容);其中第一个参数为我们当前的父窗口,即Mainwindow类所创建的负窗口,所以我们可以直接写this指针。窗口标题和信息内容都是是QString类型。窗口标题我们可以随意填写,用双引号括起来即可临时赋值一个字符串,或者用tr("")的方式。

2.如何获取LineEdit中的字符串

这个无需多讲,一行代码即搞定:

显然,LineEdit类中有text()这个成员函数,它返回一个QString类型的字符串。

3.建立槽与信号的连接

构造函数中连接信号与槽

4.在构造函数中更改窗口标题

信号与槽的简单应用实例_第5张图片
在构造函数中更改窗口标题

写入“ASA”即可。


这里,就大功告成了,ctrl+R跑起来吧!

信号与槽的简单应用实例_第6张图片
最终实现

你可能感兴趣的:(信号与槽的简单应用实例)