Qt的特点:
一套应用程序开发类库:丰富的API,支持2D/3D图形渲染
Qt的良好封装机制使得Qt的模块化程度非常高,可重用性好
最优秀的跨平台框架
Qt的许可类型
1、商业许可
2、开源许可
信号与槽:
作用:
实现对象间的通信
灵活高效(Jibevent事件驱动机制)
信号:
信号使用signal关键字声明
信号只需要像函数那样声明,其中可以有参数,参数的主要作用是用于和槽通信
信号是由moc自动生成的
信号的返回值只能是void类型的
发射信号需要使用emit关键字
槽:
声明用slots:
public slots:在这个区声明的槽意味着任何对象都可以将信号与之连接
protect slots:在这个区声明的槽意味着当前类及其子类可以将信号与之相连接
private slots:在这个区声明的槽意味着只有类自己可以将信号与之相连接
槽就是一个普通函数,可以像普通函数一样进行使用,槽与函数主要的区别就是槽可以和信号相关联
ui资源(槽函数)只能在ui线程(主线程)访问
信号与槽的关系:
槽的参数的类型需要与信号参数的类型相对于
一个信号可以和多个槽关联,发送信号时,槽函数按照关联的顺序依次执行
多个信号也可以与同一个槽关联
信号也可以关联到另一个信号上