最近学习了Linux的高编和网络编程,在Linux中敲代码和之前在QT中敲的感觉是不一样的,因为QT好多函数都已经封装好了,只要了解这个函数是干嘛用的,函数里的参数是什么就可以了,非常的方便,在学习QT的时候,老师曾说过,如果不会用信号与槽,那就不能说自己学过QT,为什么呢,因为QT中大量的运用了信号与槽,来实现大部分功能,所以可以说信号与槽就是QT的精髓,下面我将对信号与槽进行一下总结。
首先简单回顾一下什么是信号、什么是槽。信号一般是用来传参或者是一种逻辑的调用者。槽 :是用来接收信号,并且完成信号想要实现的功能。所以可以看出,信号与槽是一种高级接口,实现对象之间的通信。
</pre><p> 用一个小例子来阐述信号与槽的基本使用。 </p><p> 1.如何声明信号与槽:代码如下</p><p> </p><pre class="cpp" name="code">#ifndef MYSIGNAL_H
#define MYSIGNAL_H
#include <QWidget>
namespace Ui {
class Mysignal;
}
class Mysignal : public QWidget
{
Q_OBJECT
public:
explicit Mysignal(QWidget *parent = 0);
~Mysignal();
signals:
void signalsend();
private slots:
void receivesignal();
void on_lineEdit_returnPressed();
void receivesignal2();
private:
Ui::Mysignal *ui;
};
#endif // MYSIGNAL_H
能看出哪一句是声明信号的吗?没错,就是signals:
void signalsend(); 这句。
private slots:
void receivesignal();
void o