第4章 信号和槽函数
上一章是字符编码和字符串相关类的知识,本章开始学习初步的图形界面编程。沟通是人类世界正常运行的基础,人可以通过说、听、读、写、看等多种方式沟通,Qt 的世界也有其独特的沟通方式。Qt 图形程序是由窗口和里面各式各样的控件对象组成,它们之间的沟通方式,最常用的就是信号和槽函数。本章重点就是学习 Qt 对象通过信号和槽函数来通信的机制。
本章 4.1 节讲解 Qt 元对象系统,它是 Qt 对 C++ 做的扩展功能,用于实现信号和槽、属性系统等机制,这节主要是元对象系统简介,并通过一个简单按钮例子介绍如何关联信号和槽函数。关于元对象系统的内幕代码放到最后一节作为扩展阅读,免得新手从第一节开始就看得晕头转向,内幕先不管,学会怎么编写信号和槽函数才是最关键的。
4.2 节讲解 Qt 窗口和控件自带的信号和槽示例。
4.3 节我们自己定义信号以及槽函数,并学习对象之间的多种沟通方式。
4.4 节简单学习一下 Qt 的属性系统,这对开发自定义的类库比较有用。
最后 4.5 节和 4.6 节是扩展阅读,讲解我们之前遇到的 ui_*.h 和 moc_*.cpp 里的代码,进一步理解 Qt 元对象系统的内部原理。