目录
接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧
基本概念
1.在 Qt 中,⽤⼾和控件的每次交互过程称为⼀个事件,每个事件都会发出⼀个信号,
Qt 中的所有控件都具有接收信号的能⼒,⼀个控件还可以接收多个不同的信号。对于接收到的每个信号,控件都会做出相应的响应动作,在 Qt 中,对信号做出的响应动作就称之为槽。
2.信号的三个要素:
信号源:由哪个控件发出的信号
信号的类型:用户进行不同的操作,就可能触发不同的信号
信号的处理方式:槽,本质是函数,
槽函数可以与⼀个信号关联,当信号被
发射时,关联的槽函数被⾃动执⾏。在Qt中使用connect函数,把一个信号和槽关联起来,后续只要信号触发,Qt就会自动的执行槽函数,槽函数本质就是回调函数
3.信号函数和槽函数通常位于某个类中,和普通的成员函数相⽐,它们的特别之处在于:
信号函数⽤ signals 关键字修饰,槽函数⽤ public slots、protected slots 或者 private slots 修
饰。signals 和 slots 是 Qt 在 C++ 的基础上扩展的关键字,专⻔⽤来指明信号函数和槽函数;
4.信号函数只需要声明,不需要定义(实现),⽽槽函数需要定义(实现)
5.
信号函数的定义是 Qt ⾃动在编译程序之前⽣成的. 编写 Qt 应⽤程序的程序猿⽆需关注.
这种⾃动⽣成代码的机制称为 元编程
信号与槽的使用
1.在Qt中一定是先关联信号与槽,然后再触发这个信号,顺序不能颠倒,否则信号就不知道如何处理了
2.connect函数是QObject这个类提供的静态成员函数
3.Qt中提供的类,本身是存在一定的继承关系的,Qt 中提供的很多类都是直接或者间接继承⾃ QObject
4.connect() 函数原型: